Advanced Lane Finding Project

The goals / steps of this project are the following:

  • Compute the camera calibration matrix and distortion coefficients given a set of chessboard images.
  • Apply a distortion correction to raw images.
  • Use color transforms, gradients, etc., to create a thresholded binary image.
  • Apply a perspective transform to rectify binary image ("birds-eye view").
  • Detect lane pixels and fit to find the lane boundary.
  • Determine the curvature of the lane and vehicle position with respect to center.
  • Warp the detected lane boundaries back onto the original image.
  • Output visual display of the lane boundaries and numerical estimation of lane curvature and vehicle position.

First, I'll compute the camera calibration using chessboard images

In [1]:
import numpy as np
import cv2
import glob
import matplotlib.pyplot as plt
%matplotlib inline

# prepare object points, like (0,0,0), (1,0,0), (2,0,0) ....,(6,5,0)
objp = np.zeros((6*9,3), np.float32)
objp[:,:2] = np.mgrid[0:9,0:6].T.reshape(-1,2)

# Arrays to store object points and image points from all the images.
objpoints = [] # 3d points in real world space
imgpoints = [] # 2d points in image plane.

# Make a list of calibration images
images = glob.glob('../camera_cal/calibration*.jpg')

def cal_undistort(img, objpoints, imgpoints):
    img = np.copy(img)
    ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, (img.shape[1], img.shape[0]), None, None)
    dst = cv2.undistort(img, mtx, dist, None, mtx)
    return dst,mtx,dist

l_mtx = []
l_dist = []
# Step through the list and search for chessboard corners
for fname in images:
    img = cv2.imread(fname)
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

    # Find the chessboard corners
    ret, corners = cv2.findChessboardCorners(gray, (9,6),None)

    # If found, add object points, image points
    if ret == True:
        objpoints.append(objp)
        imgpoints.append(corners)

        # Draw and display the corners
#         img = cv2.drawChessboardCorners(np.copy(img), (9,6), corners, ret)
    
        undistorted,mtx,dist = cal_undistort(img, objpoints, imgpoints)
        l_mtx.append(mtx)
        l_dist.append(dist)
        
        f, (ax1, ax2) = plt.subplots(1, 2, figsize=(24, 9))
        f.tight_layout()
        ax1.imshow(img)
        ax1.set_title('Original Image: ' + fname)
        ax2.imshow(undistorted)
        ax2.set_title('Undistorted Image')
        
        

Apply a distortion correction to raw images.

In [2]:
test_images = glob.glob('../test_images/*.jpg')

list_undistorted_imgs = []

for fname in test_images:
    bgr_img = cv2.imread(fname)
    img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2RGB)

    undistorted,_,_ = cal_undistort(img, objpoints, imgpoints)
    list_undistorted_imgs.append(undistorted)

    f, (ax1, ax2) = plt.subplots(1, 2, figsize=(24, 9))
    f.tight_layout()
    ax1.imshow(img)
    ax1.set_title('Original Image: ' + fname)
    ax2.imshow(undistorted)
    ax2.set_title('Undistorted Image')

Create a thresholded binary images

Once that undistort all images (as you can see in last cell), I'm going to process each image to select the channels most interesting. I use de L and S channel (from HLS color) to apply Sobel. Also I get the V channel (from HSV). At the end, I binarize all channels to get a flat result.

In [3]:
def pipeline(img, s_thresh=(100, 105), sx_thresh=(45, 80), sv_thresh=(225, 255)):
    img = np.copy(img)
    
    # Convert to HLS color space
    hls = cv2.cvtColor(img, cv2.COLOR_RGB2HLS).astype(np.float)
    l_channel = hls[:,:,1]
    s_channel = hls[:,:,2]
    
    # Convert to HSV color space and get the V channel
    hsv = cv2.cvtColor(img, cv2.COLOR_RGB2HSV).astype(np.float)
    v_channel = hsv[:,:,2]
    
    # Sobel x
    sobelx = cv2.Sobel(l_channel, cv2.CV_64F, 1, 0) # Take the derivative in x
    abs_sobelx = np.absolute(sobelx) # Absolute x derivative to accentuate lines away from horizontal
    scaled_sobel = np.uint8(255*abs_sobelx/np.max(abs_sobelx))
    
    # Threshold x gradient
    sxbinary = np.zeros_like(scaled_sobel)
    sxbinary[(scaled_sobel >= sx_thresh[0]) & (scaled_sobel <= sx_thresh[1])] = 1
    
    # Threshold color channel
    s_binary = np.zeros_like(s_channel)
    s_binary[(s_channel >= s_thresh[0]) & (s_channel <= s_thresh[1])] = 1
    
    # Threshold the V channel of the HSV image
    v_binary = np.zeros_like(v_channel)
    v_binary[(v_channel >= sv_thresh[0]) & (v_channel <= sv_thresh[1])] = 1
        
    # Stack each channel
    # Note color_binary[:, :, 0] is all 0s, effectively an all black image. It might
    # be beneficial to replace this channel with something else.
    color_binary = np.dstack((v_binary, sxbinary, s_binary)) 
    
    sum_binary = np.zeros_like(sxbinary)
    sum_binary[(v_binary == 1) | (sxbinary == 1) | (s_binary == 1)] = 1
    
    return color_binary, sum_binary
    
for image in list_undistorted_imgs:
    result,_ = pipeline(image)
    # Plot the result
    f, (ax1, ax2) = plt.subplots(1, 2, figsize=(24, 9))
    f.tight_layout()

    ax1.imshow(image)
    ax1.set_title('Original Image', fontsize=40)

    ax2.imshow(result)
    ax2.set_title('Pipeline Result', fontsize=40)
    plt.subplots_adjust(left=0., right=1, top=0.9, bottom=0.)

Birds-eye view

I have thresholded and binarized the images, so I can warp them and get the bird-eye

In [4]:
src = np.float32(
[[580, 460],
 [700, 460],
 [1040, 680],
 [260, 680]])

dst = np.float32(
[[200, 0],
 [1080, 0],
 [1080,720],
 [200,720]])

def warp_img(img):
    img = np.copy(img)
    
    width = img.shape[1]
    height = img.shape[0]
    img_size = (width, height)
    
    M = cv2.getPerspectiveTransform(src, dst)
    # Warp the image using OpenCV warpPerspective()
    warped = cv2.warpPerspective(img, M, img_size)
    
    #Draw the polygon
    pts = np.copy(src).astype(int).reshape((-1,1,2))
    new_img = cv2.polylines(np.copy(img),[pts],True,(255,0,0), 2)     
    
    return warped, new_img

pipelined_bw_warped_undistorted_imgs = []
pipelined_warped_undistorted_imgs = []
warped_imgs = []

for image in list_undistorted_imgs:

    warped_img, polygon_img = warp_img(image)
    warped_imgs.append(warped_img)

    f, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(24, 9))
    f.tight_layout()

    ax1.imshow(polygon_img)
    ax1.set_title('Original Image', fontsize=25)

    ax2.imshow(warped_img)
    ax2.set_title('Undistorted and Warped Image', fontsize=25)
    plt.subplots_adjust(left=0., right=1, top=0.9, bottom=0.)
    
    pipelined_tmp, pipelined_bw_tmp  = pipeline(warped_img)
    pipelined_warped_undistorted_imgs.append(pipelined_tmp)
    pipelined_bw_warped_undistorted_imgs.append(pipelined_bw_tmp)
    ax3.imshow(pipelined_tmp)
    ax3.set_title('Pipelined', fontsize=25)
    plt.subplots_adjust(left=0., right=1, top=0.9, bottom=0.)

Detect lane pixels and fit to find the lane boundary.

In [5]:
for image in pipelined_bw_warped_undistorted_imgs:
    
    histogram = np.sum(image, axis=0)
    
    f, (ax1, ax2) = plt.subplots(1, 2, figsize=(24, 9))
    f.tight_layout()

    ax1.imshow(image,cmap='gray')
    ax1.set_title('Original Image', fontsize=25)

    ax2.plot(histogram)
    ax2.set_title('Histogram', fontsize=28)

Thanks to binarization and warped, as you can see in histogram, the detect lanes is much more easy. So I use the next functions tho find them (with sliding window strategy) and measure the curves

In [6]:
def finding_lines(binary_warped):
    # Assuming you have created a warped binary image called "binary_warped"
    # Take a histogram of the bottom half of the image
    histogram = np.sum(binary_warped, axis=0)
    # Create an output image to draw on and  visualize the result
    out_img = np.dstack((binary_warped, binary_warped, binary_warped))*255
    # Find the peak of the left and right halves of the histogram
    # These will be the starting point for the left and right lines
    midpoint = np.int(histogram.shape[0]/2)
    leftx_base = np.argmax(histogram[:midpoint])
    rightx_base = np.argmax(histogram[midpoint:]) + midpoint

    # Choose the number of sliding windows
    nwindows = 6
    # Set height of windows
    window_height = np.int(binary_warped.shape[0]/nwindows)
    # Identify the x and y positions of all nonzero pixels in the image
    nonzero = binary_warped.nonzero()
    nonzeroy = np.array(nonzero[0])
    nonzerox = np.array(nonzero[1])
    # Current positions to be updated for each window
    leftx_current = leftx_base
    rightx_current = rightx_base
    # Set the width of the windows +/- margin
    margin = 100
    # Set minimum number of pixels found to recenter window
    minpix = 50
    # Create empty lists to receive left and right lane pixel indices
    left_lane_inds = []
    right_lane_inds = []

    # Step through the windows one by one
    for window in range(nwindows):
        # Identify window boundaries in x and y (and right and left)
        win_y_low = binary_warped.shape[0] - (window+1)*window_height
        win_y_high = binary_warped.shape[0] - window*window_height
        win_xleft_low = leftx_current - margin
        win_xleft_high = leftx_current + margin
        win_xright_low = rightx_current - margin
        win_xright_high = rightx_current + margin
        # Draw the windows on the visualization image
        cv2.rectangle(out_img,(win_xleft_low,win_y_low),(win_xleft_high,win_y_high),
        (0,255,0), 2) 
        cv2.rectangle(out_img,(win_xright_low,win_y_low),(win_xright_high,win_y_high),
        (0,255,0), 2) 
        # Identify the nonzero pixels in x and y within the window
        good_left_inds = ((nonzeroy >= win_y_low) & (nonzeroy < win_y_high) & 
        (nonzerox >= win_xleft_low) &  (nonzerox < win_xleft_high)).nonzero()[0]
        good_right_inds = ((nonzeroy >= win_y_low) & (nonzeroy < win_y_high) & 
        (nonzerox >= win_xright_low) &  (nonzerox < win_xright_high)).nonzero()[0]
        # Append these indices to the lists
        left_lane_inds.append(good_left_inds)
        right_lane_inds.append(good_right_inds)
        # If you found > minpix pixels, recenter next window on their mean position
        if len(good_left_inds) > minpix:
            leftx_current = np.int(np.mean(nonzerox[good_left_inds]))
        if len(good_right_inds) > minpix:        
            rightx_current = np.int(np.mean(nonzerox[good_right_inds]))

    # Concatenate the arrays of indices
    left_lane_inds = np.concatenate(left_lane_inds)
    right_lane_inds = np.concatenate(right_lane_inds)

    # Extract left and right line pixel positions
    leftx = nonzerox[left_lane_inds]
    lefty = nonzeroy[left_lane_inds] 
    rightx = nonzerox[right_lane_inds]
    righty = nonzeroy[right_lane_inds] 

    # Fit a second order polynomial to each
    left_fit = np.polyfit(lefty, leftx, 2)
    right_fit = np.polyfit(righty, rightx, 2)
    
    out_img[nonzeroy[left_lane_inds], nonzerox[left_lane_inds]] = [255, 0, 0]
    out_img[nonzeroy[right_lane_inds], nonzerox[right_lane_inds]] = [0, 0, 255]
    
    ploty = np.linspace(0, image.shape[0]-1, image.shape[0])
    left_fitx = left_fit[0]*ploty**2 + left_fit[1]*ploty + left_fit[2]
    right_fitx = right_fit[0]*ploty**2 + right_fit[1]*ploty + right_fit[2]
    
    return left_fit, right_fit, out_img, left_fitx, right_fitx, ploty
In [7]:
def skip_sliding_window(binary_warped, left_fit, right_fit):
    # Assume you now have a new warped binary image 
    # from the next frame of video (also called "binary_warped")
    # It's now much easier to find line pixels!
    nonzero = binary_warped.nonzero()
    nonzeroy = np.array(nonzero[0])
    nonzerox = np.array(nonzero[1])
    margin = 100
    left_lane_inds = ((nonzerox > (left_fit[0]*(nonzeroy**2) + left_fit[1]*nonzeroy + 
    left_fit[2] - margin)) & (nonzerox < (left_fit[0]*(nonzeroy**2) + 
    left_fit[1]*nonzeroy + left_fit[2] + margin))) 

    right_lane_inds = ((nonzerox > (right_fit[0]*(nonzeroy**2) + right_fit[1]*nonzeroy + 
    right_fit[2] - margin)) & (nonzerox < (right_fit[0]*(nonzeroy**2) + 
    right_fit[1]*nonzeroy + right_fit[2] + margin)))  

    # Again, extract left and right line pixel positions
    leftx = nonzerox[left_lane_inds]
    lefty = nonzeroy[left_lane_inds] 
    rightx = nonzerox[right_lane_inds]
    righty = nonzeroy[right_lane_inds]
    # Fit a second order polynomial to each
    left_fit = np.polyfit(lefty, leftx, 2)
    right_fit = np.polyfit(righty, rightx, 2)
    # Generate x and y values for plotting
    ploty = np.linspace(0, binary_warped.shape[0]-1, binary_warped.shape[0] )
    left_fitx = left_fit[0]*ploty**2 + left_fit[1]*ploty + left_fit[2]
    right_fitx = right_fit[0]*ploty**2 + right_fit[1]*ploty + right_fit[2]
    
    out_img = np.dstack((binary_warped, binary_warped, binary_warped))*255
    window_img = np.zeros_like(out_img)
    # Color in left and right line pixels
    out_img[nonzeroy[left_lane_inds], nonzerox[left_lane_inds]] = [255, 0, 0]
    out_img[nonzeroy[right_lane_inds], nonzerox[right_lane_inds]] = [0, 0, 255]

    # Generate a polygon to illustrate the search window area
    # And recast the x and y points into usable format for cv2.fillPoly()
    left_line_window1 = np.array([np.transpose(np.vstack([left_fitx-margin, ploty]))])
    left_line_window2 = np.array([np.flipud(np.transpose(np.vstack([left_fitx+margin, 
                                  ploty])))])
    left_line_pts = np.hstack((left_line_window1, left_line_window2))
    right_line_window1 = np.array([np.transpose(np.vstack([right_fitx-margin, ploty]))])
    right_line_window2 = np.array([np.flipud(np.transpose(np.vstack([right_fitx+margin, 
                                  ploty])))])
    right_line_pts = np.hstack((right_line_window1, right_line_window2))

    # Draw the lane onto the warped blank image
    cv2.fillPoly(window_img, np.int_([left_line_pts]), (0,255, 0))
    cv2.fillPoly(window_img, np.int_([right_line_pts]), (0,255, 0))
    result = cv2.addWeighted(out_img, 1, window_img, 0.3, 0)
    
    return left_fitx, right_fitx, result
    

Determine the curvature of the lane

In [8]:
ym_per_pix = 30/720 # meters per pixel in y dimension
xm_per_pix = 3.7/700 # meters per pixel in x dimension

def curvature_measure(left_fitx, right_fitx, ploty):
    y_eval = np.max(ploty)
    # Fit new polynomials to x,y in world space
    left_fit_cr = np.polyfit(ploty*ym_per_pix, left_fitx*xm_per_pix, 2)
    right_fit_cr = np.polyfit(ploty*ym_per_pix, right_fitx*xm_per_pix, 2)
    # Calculate the new radio of curvature
    left_curverad = ((1 + (2*left_fit_cr[0]*y_eval*ym_per_pix + left_fit_cr[1])**2)**1.5) / np.absolute(2*left_fit_cr[0])
    right_curverad = ((1 + (2*right_fit_cr[0]*y_eval*ym_per_pix + right_fit_cr[1])**2)**1.5) / np.absolute(2*right_fit_cr[0])

    return left_curverad, right_curverad

Process all

In [28]:
def make_final_image(left_fitx, right_fitx, left_curverad, right_curverad, binary_warped, undistorted, ploty):

    left_fit_cr = np.polyfit(ploty*ym_per_pix, left_fitx*xm_per_pix, 2)
    right_fit_cr = np.polyfit(ploty*ym_per_pix, right_fitx*xm_per_pix, 2)
    
    car_pos = ((
                 (left_fitx[-1] + right_fitx[-1]) / 2) - 640
                ) * xm_per_pix

    
    if car_pos > 4 or car_pos < -4:
        cv2.imwrite("/tmp/img_"+str(car_pos)+".png",undistorted)
        print(car_pos)
        
    # Create an image to draw the lines on
    warp_zero = np.zeros_like(binary_warped).astype(np.uint8)
    color_warp = np.dstack((warp_zero, warp_zero, warp_zero))

    # Recast the x and y points into usable format for cv2.fillPoly()
    pts_left = np.array([np.transpose(np.vstack([left_fitx, ploty]))])
    pts_right = np.array([np.flipud(np.transpose(np.vstack([right_fitx, ploty])))])
    pts = np.hstack((pts_left, pts_right))

    # Draw the lane onto the warped blank image
    cv2.fillPoly(color_warp, np.int_([pts]), (0,255, 0))
    
    Minv = cv2.getPerspectiveTransform(dst, src)
    # Warp the blank back to original image space using inverse perspective matrix (Minv)
    newwarp = cv2.warpPerspective(color_warp, Minv, (img.shape[1], img.shape[0]))
    # Combine the result with the original image
    result = cv2.addWeighted(undistorted, 1, newwarp, 0.3, 0)

    font = cv2.FONT_HERSHEY_SIMPLEX
    text = "Left: {:.2f} m".format(left_curverad)
    cv2.putText(result, text, (50,50), font, 2, (255,255,255), 3)
    text = "Right: {:.2f} m".format(right_curverad)
    cv2.putText(result, text, (50,125), font, 2, (255,255,255), 3)
    text = "Offset from center: {:.2f} m".format(car_pos)
    cv2.putText(result, text, (50,200), font, 2, (255,255,255), 3)

    return result
In [29]:
for warped_bw, undistorted_img,warped_img in zip(pipelined_bw_warped_undistorted_imgs,list_undistorted_imgs,warped_imgs) :
    left_fit, right_fit, out_img, left_fitx, right_fitx, ploty = finding_lines(warped_bw)
    
    f, (ax1, ax2, ax3, ax4) = plt.subplots(1, 4, figsize=(24, 9))
    f.tight_layout()
    ax1.imshow(warped_bw, cmap='gray')
    
    ax2.imshow(out_img)
    ax2.plot(left_fitx, ploty, color='yellow')
    ax2.plot(right_fitx, ploty, color='yellow')
    
    left_fitx, right_fitx, result = skip_sliding_window(warped_bw, left_fit, right_fit)
    
    ax3.imshow(result)
    ax3.plot(left_fitx, ploty, color='yellow')
    ax3.plot(right_fitx, ploty, color='yellow')
    
    left_curverad, right_curverad = curvature_measure(left_fitx, right_fitx, ploty)
    final_image = make_final_image(left_fitx, right_fitx, left_curverad, right_curverad, warped_bw, undistorted_img, ploty)
    ax4.imshow(final_image)
    

Make Video with all pipeline

In the next function (process_image) I merge all implemented strategies. I pass this function to each frames to make the final video

In [30]:
def process_image(img):
    undistorted,_,_ = cal_undistort(img, objpoints, imgpoints)
    warped_img, _ = warp_img(undistorted)
    _, warped_bw  = pipeline(warped_img)
    left_fit, right_fit, out_img, left_fitx, right_fitx, ploty = finding_lines(warped_bw)
#     left_fitx, right_fitx, result = skip_sliding_window(warped_bw, left_fit, right_fit)
    left_curverad, right_curverad = curvature_measure(left_fitx, right_fitx, ploty)
    final_image = make_final_image(left_fitx, right_fitx, left_curverad, right_curverad, warped_bw, undistorted, ploty)
    return final_image
In [34]:
img = cv2.cvtColor(cv2.imread("/home/adrian/carnd/CarND-Advanced-Lane-Lines/test_images/test2.jpg"), cv2.COLOR_BGR2RGB)
f, (ax1, ax2) = plt.subplots(1, 2, figsize=(24, 9))
f.tight_layout()
ax1.imshow(img)
ax1.set_title('Original Image: ' + fname)

ax2.imshow(process_image(img))
ax2.set_title('Final Image')
Out[34]:
<matplotlib.text.Text at 0x7f14b1cbd828>
In [35]:
from moviepy.editor import VideoFileClip
from IPython.display import HTML

project_video_output = ("../project_final_video.mp4")
clip1 = VideoFileClip("../project_video.mp4")
white_clip = clip1.fl_image(process_image)
%time white_clip.write_videofile(project_video_output, audio=False)
[MoviePy] >>>> Building video ../project_final_video.mp4
[MoviePy] Writing video ../project_final_video.mp4
  0%|          | 0/1261 [00:00<?, ?it/s]
  0%|          | 1/1261 [00:00<13:53,  1.51it/s]
  0%|          | 2/1261 [00:01<13:54,  1.51it/s]
  0%|          | 3/1261 [00:02<14:14,  1.47it/s]
  0%|          | 4/1261 [00:02<14:04,  1.49it/s]
  0%|          | 5/1261 [00:03<13:59,  1.50it/s]
  0%|          | 6/1261 [00:04<13:53,  1.51it/s]
  1%|          | 7/1261 [00:04<13:49,  1.51it/s]
  1%|          | 8/1261 [00:05<13:46,  1.52it/s]
  1%|          | 9/1261 [00:05<13:43,  1.52it/s]
  1%|          | 10/1261 [00:06<13:41,  1.52it/s]
  1%|          | 11/1261 [00:07<13:39,  1.53it/s]
  1%|          | 12/1261 [00:07<13:39,  1.52it/s]
  1%|          | 13/1261 [00:08<13:37,  1.53it/s]
  1%|          | 14/1261 [00:09<13:36,  1.53it/s]
  1%|          | 15/1261 [00:09<13:35,  1.53it/s]
  1%|▏         | 16/1261 [00:10<13:34,  1.53it/s]
  1%|▏         | 17/1261 [00:11<13:33,  1.53it/s]
  1%|▏         | 18/1261 [00:11<13:32,  1.53it/s]
  2%|▏         | 19/1261 [00:12<13:31,  1.53it/s]
  2%|▏         | 20/1261 [00:13<13:31,  1.53it/s]
  2%|▏         | 21/1261 [00:13<13:31,  1.53it/s]
  2%|▏         | 22/1261 [00:14<13:30,  1.53it/s]
  2%|▏         | 23/1261 [00:15<13:29,  1.53it/s]
  2%|▏         | 24/1261 [00:15<13:28,  1.53it/s]
  2%|▏         | 25/1261 [00:16<13:27,  1.53it/s]
  2%|▏         | 26/1261 [00:17<13:26,  1.53it/s]
  2%|▏         | 27/1261 [00:17<13:26,  1.53it/s]
  2%|▏         | 28/1261 [00:18<13:25,  1.53it/s]
  2%|▏         | 29/1261 [00:19<13:25,  1.53it/s]
  2%|▏         | 30/1261 [00:19<13:24,  1.53it/s]
  2%|▏         | 31/1261 [00:20<13:23,  1.53it/s]
  3%|▎         | 32/1261 [00:21<13:23,  1.53it/s]
  3%|▎         | 33/1261 [00:21<13:22,  1.53it/s]
  3%|▎         | 34/1261 [00:22<13:22,  1.53it/s]
  3%|▎         | 35/1261 [00:22<13:23,  1.53it/s]
  3%|▎         | 36/1261 [00:23<13:21,  1.53it/s]
  3%|▎         | 37/1261 [00:24<13:20,  1.53it/s]
  3%|▎         | 38/1261 [00:24<13:40,  1.49it/s]
  3%|▎         | 39/1261 [00:25<13:33,  1.50it/s]
  3%|▎         | 40/1261 [00:26<13:27,  1.51it/s]
  3%|▎         | 41/1261 [00:26<13:24,  1.52it/s]
  3%|▎         | 42/1261 [00:27<13:20,  1.52it/s]
  3%|▎         | 43/1261 [00:28<13:18,  1.52it/s]
  3%|▎         | 44/1261 [00:28<13:17,  1.53it/s]
  4%|▎         | 45/1261 [00:29<13:16,  1.53it/s]
  4%|▎         | 46/1261 [00:30<13:12,  1.53it/s]
  4%|▎         | 47/1261 [00:30<13:14,  1.53it/s]
  4%|▍         | 48/1261 [00:31<13:13,  1.53it/s]
  4%|▍         | 49/1261 [00:32<13:19,  1.52it/s]
  4%|▍         | 50/1261 [00:32<13:20,  1.51it/s]
  4%|▍         | 51/1261 [00:33<13:17,  1.52it/s]
  4%|▍         | 52/1261 [00:34<13:14,  1.52it/s]
  4%|▍         | 53/1261 [00:34<13:12,  1.52it/s]
  4%|▍         | 54/1261 [00:35<13:10,  1.53it/s]
  4%|▍         | 55/1261 [00:36<13:10,  1.52it/s]
  4%|▍         | 56/1261 [00:36<13:10,  1.52it/s]
  5%|▍         | 57/1261 [00:37<13:12,  1.52it/s]
  5%|▍         | 58/1261 [00:38<13:15,  1.51it/s]
  5%|▍         | 59/1261 [00:38<13:16,  1.51it/s]
  5%|▍         | 60/1261 [00:39<13:13,  1.51it/s]
  5%|▍         | 61/1261 [00:40<13:10,  1.52it/s]
  5%|▍         | 62/1261 [00:40<13:07,  1.52it/s]
  5%|▍         | 63/1261 [00:41<13:13,  1.51it/s]
  5%|▌         | 64/1261 [00:42<13:13,  1.51it/s]
  5%|▌         | 65/1261 [00:42<13:09,  1.52it/s]
  5%|▌         | 66/1261 [00:43<13:10,  1.51it/s]
  5%|▌         | 67/1261 [00:44<13:18,  1.49it/s]
  5%|▌         | 68/1261 [00:44<13:18,  1.49it/s]
  5%|▌         | 69/1261 [00:45<13:18,  1.49it/s]
  6%|▌         | 70/1261 [00:46<13:13,  1.50it/s]
  6%|▌         | 71/1261 [00:46<13:15,  1.50it/s]
  6%|▌         | 72/1261 [00:47<13:14,  1.50it/s]
  6%|▌         | 73/1261 [00:48<13:15,  1.49it/s]
  6%|▌         | 74/1261 [00:48<13:13,  1.50it/s]
  6%|▌         | 75/1261 [00:49<13:13,  1.50it/s]
  6%|▌         | 76/1261 [00:50<13:12,  1.49it/s]
  6%|▌         | 77/1261 [00:50<13:11,  1.50it/s]
  6%|▌         | 78/1261 [00:51<13:05,  1.51it/s]
  6%|▋         | 79/1261 [00:52<13:00,  1.51it/s]
  6%|▋         | 80/1261 [00:52<13:00,  1.51it/s]
  6%|▋         | 81/1261 [00:53<12:57,  1.52it/s]
  7%|▋         | 82/1261 [00:54<12:59,  1.51it/s]
  7%|▋         | 83/1261 [00:54<12:56,  1.52it/s]
  7%|▋         | 84/1261 [00:55<12:54,  1.52it/s]
  7%|▋         | 85/1261 [00:56<12:56,  1.51it/s]
  7%|▋         | 86/1261 [00:56<13:01,  1.50it/s]
  7%|▋         | 87/1261 [00:57<12:55,  1.51it/s]
  7%|▋         | 88/1261 [00:58<12:53,  1.52it/s]
  7%|▋         | 89/1261 [00:58<12:53,  1.51it/s]
  7%|▋         | 90/1261 [00:59<12:55,  1.51it/s]
  7%|▋         | 91/1261 [01:00<12:55,  1.51it/s]
  7%|▋         | 92/1261 [01:00<12:56,  1.50it/s]
  7%|▋         | 93/1261 [01:01<12:54,  1.51it/s]
  7%|▋         | 94/1261 [01:02<12:52,  1.51it/s]
  8%|▊         | 95/1261 [01:02<12:55,  1.50it/s]
  8%|▊         | 96/1261 [01:03<12:55,  1.50it/s]
  8%|▊         | 97/1261 [01:04<12:53,  1.51it/s]
  8%|▊         | 98/1261 [01:04<12:55,  1.50it/s]
  8%|▊         | 99/1261 [01:05<12:53,  1.50it/s]
  8%|▊         | 100/1261 [01:06<12:49,  1.51it/s]
  8%|▊         | 101/1261 [01:06<12:48,  1.51it/s]
  8%|▊         | 102/1261 [01:07<12:44,  1.52it/s]
  8%|▊         | 103/1261 [01:07<12:42,  1.52it/s]
  8%|▊         | 104/1261 [01:08<12:40,  1.52it/s]
  8%|▊         | 105/1261 [01:09<12:40,  1.52it/s]
  8%|▊         | 106/1261 [01:09<12:37,  1.52it/s]
  8%|▊         | 107/1261 [01:10<12:35,  1.53it/s]
  9%|▊         | 108/1261 [01:11<12:34,  1.53it/s]
  9%|▊         | 109/1261 [01:11<12:34,  1.53it/s]
  9%|▊         | 110/1261 [01:12<12:33,  1.53it/s]
  9%|▉         | 111/1261 [01:13<12:32,  1.53it/s]
  9%|▉         | 112/1261 [01:13<12:33,  1.52it/s]
  9%|▉         | 113/1261 [01:14<12:31,  1.53it/s]
  9%|▉         | 114/1261 [01:15<12:31,  1.53it/s]
  9%|▉         | 115/1261 [01:15<12:29,  1.53it/s]
  9%|▉         | 116/1261 [01:16<12:28,  1.53it/s]
  9%|▉         | 117/1261 [01:17<12:28,  1.53it/s]
  9%|▉         | 118/1261 [01:17<12:27,  1.53it/s]
  9%|▉         | 119/1261 [01:18<12:26,  1.53it/s]
 10%|▉         | 120/1261 [01:19<12:33,  1.51it/s]
 10%|▉         | 121/1261 [01:19<12:37,  1.50it/s]
 10%|▉         | 122/1261 [01:20<12:34,  1.51it/s]
 10%|▉         | 123/1261 [01:21<12:35,  1.51it/s]
 10%|▉         | 124/1261 [01:21<12:32,  1.51it/s]
 10%|▉         | 125/1261 [01:22<12:37,  1.50it/s]
 10%|▉         | 126/1261 [01:23<12:33,  1.51it/s]
 10%|█         | 127/1261 [01:23<12:29,  1.51it/s]
 10%|█         | 128/1261 [01:24<12:27,  1.52it/s]
 10%|█         | 129/1261 [01:25<12:26,  1.52it/s]
 10%|█         | 130/1261 [01:25<12:29,  1.51it/s]
 10%|█         | 131/1261 [01:26<12:30,  1.51it/s]
 10%|█         | 132/1261 [01:27<12:29,  1.51it/s]
 11%|█         | 133/1261 [01:27<12:26,  1.51it/s]
 11%|█         | 134/1261 [01:28<12:26,  1.51it/s]
 11%|█         | 135/1261 [01:29<12:26,  1.51it/s]
 11%|█         | 136/1261 [01:29<12:28,  1.50it/s]
 11%|█         | 137/1261 [01:30<12:29,  1.50it/s]
 11%|█         | 138/1261 [01:31<12:32,  1.49it/s]
 11%|█         | 139/1261 [01:31<12:35,  1.48it/s]
 11%|█         | 140/1261 [01:32<12:29,  1.50it/s]
 11%|█         | 141/1261 [01:33<12:25,  1.50it/s]
 11%|█▏        | 142/1261 [01:33<12:24,  1.50it/s]
 11%|█▏        | 143/1261 [01:34<12:22,  1.51it/s]
 11%|█▏        | 144/1261 [01:35<12:20,  1.51it/s]
 11%|█▏        | 145/1261 [01:35<12:18,  1.51it/s]
 12%|█▏        | 146/1261 [01:36<12:19,  1.51it/s]
 12%|█▏        | 147/1261 [01:37<12:16,  1.51it/s]
 12%|█▏        | 148/1261 [01:37<12:13,  1.52it/s]
 12%|█▏        | 149/1261 [01:38<12:24,  1.49it/s]
 12%|█▏        | 150/1261 [01:39<12:18,  1.50it/s]
 12%|█▏        | 151/1261 [01:39<12:20,  1.50it/s]
 12%|█▏        | 152/1261 [01:40<12:15,  1.51it/s]
 12%|█▏        | 153/1261 [01:41<12:18,  1.50it/s]
 12%|█▏        | 154/1261 [01:41<12:19,  1.50it/s]
 12%|█▏        | 155/1261 [01:42<12:30,  1.47it/s]
 12%|█▏        | 156/1261 [01:43<12:21,  1.49it/s]
 12%|█▏        | 157/1261 [01:43<12:14,  1.50it/s]
 13%|█▎        | 158/1261 [01:44<12:15,  1.50it/s]
 13%|█▎        | 159/1261 [01:45<12:16,  1.50it/s]
 13%|█▎        | 160/1261 [01:45<12:11,  1.51it/s]
 13%|█▎        | 161/1261 [01:46<12:14,  1.50it/s]
 13%|█▎        | 162/1261 [01:47<12:16,  1.49it/s]
 13%|█▎        | 163/1261 [01:47<12:14,  1.50it/s]
 13%|█▎        | 164/1261 [01:48<12:13,  1.50it/s]
 13%|█▎        | 165/1261 [01:49<12:13,  1.49it/s]
 13%|█▎        | 166/1261 [01:49<12:11,  1.50it/s]
 13%|█▎        | 167/1261 [01:50<12:05,  1.51it/s]
 13%|█▎        | 168/1261 [01:51<12:02,  1.51it/s]
 13%|█▎        | 169/1261 [01:51<12:04,  1.51it/s]
 13%|█▎        | 170/1261 [01:52<12:00,  1.51it/s]
 14%|█▎        | 171/1261 [01:53<12:23,  1.47it/s]
 14%|█▎        | 172/1261 [01:53<12:16,  1.48it/s]
 14%|█▎        | 173/1261 [01:54<12:09,  1.49it/s]
 14%|█▍        | 174/1261 [01:55<12:07,  1.49it/s]
 14%|█▍        | 175/1261 [01:55<12:09,  1.49it/s]
 14%|█▍        | 176/1261 [01:56<12:04,  1.50it/s]
 14%|█▍        | 177/1261 [01:57<11:58,  1.51it/s]
 14%|█▍        | 178/1261 [01:57<11:54,  1.51it/s]
 14%|█▍        | 179/1261 [01:58<11:54,  1.52it/s]
 14%|█▍        | 180/1261 [01:59<11:51,  1.52it/s]
 14%|█▍        | 181/1261 [01:59<11:56,  1.51it/s]
 14%|█▍        | 182/1261 [02:00<11:58,  1.50it/s]
 15%|█▍        | 183/1261 [02:01<11:52,  1.51it/s]
 15%|█▍        | 184/1261 [02:01<11:53,  1.51it/s]
 15%|█▍        | 185/1261 [02:02<11:51,  1.51it/s]
 15%|█▍        | 186/1261 [02:03<11:52,  1.51it/s]
 15%|█▍        | 187/1261 [02:03<11:47,  1.52it/s]
 15%|█▍        | 188/1261 [02:04<11:49,  1.51it/s]
 15%|█▍        | 189/1261 [02:05<11:53,  1.50it/s]
 15%|█▌        | 190/1261 [02:05<11:52,  1.50it/s]
 15%|█▌        | 191/1261 [02:06<11:54,  1.50it/s]
 15%|█▌        | 192/1261 [02:07<11:54,  1.50it/s]
 15%|█▌        | 193/1261 [02:07<11:55,  1.49it/s]
 15%|█▌        | 194/1261 [02:08<11:54,  1.49it/s]
 15%|█▌        | 195/1261 [02:09<11:53,  1.49it/s]
 16%|█▌        | 196/1261 [02:09<12:00,  1.48it/s]
 16%|█▌        | 197/1261 [02:10<11:55,  1.49it/s]
 16%|█▌        | 198/1261 [02:11<11:57,  1.48it/s]
 16%|█▌        | 199/1261 [02:11<11:59,  1.48it/s]
 16%|█▌        | 200/1261 [02:12<11:56,  1.48it/s]
 16%|█▌        | 201/1261 [02:13<11:58,  1.48it/s]
 16%|█▌        | 202/1261 [02:13<12:00,  1.47it/s]
 16%|█▌        | 203/1261 [02:14<11:58,  1.47it/s]
 16%|█▌        | 204/1261 [02:15<11:55,  1.48it/s]
 16%|█▋        | 205/1261 [02:15<11:49,  1.49it/s]
 16%|█▋        | 206/1261 [02:16<11:47,  1.49it/s]
 16%|█▋        | 207/1261 [02:17<11:46,  1.49it/s]
 16%|█▋        | 208/1261 [02:17<11:42,  1.50it/s]
 17%|█▋        | 209/1261 [02:18<11:38,  1.51it/s]
 17%|█▋        | 210/1261 [02:19<11:36,  1.51it/s]
 17%|█▋        | 211/1261 [02:19<11:35,  1.51it/s]
 17%|█▋        | 212/1261 [02:20<11:33,  1.51it/s]
 17%|█▋        | 213/1261 [02:21<11:31,  1.52it/s]
 17%|█▋        | 214/1261 [02:21<11:33,  1.51it/s]
 17%|█▋        | 215/1261 [02:22<11:30,  1.51it/s]
 17%|█▋        | 216/1261 [02:23<11:29,  1.51it/s]
 17%|█▋        | 217/1261 [02:23<11:27,  1.52it/s]
 17%|█▋        | 218/1261 [02:24<11:27,  1.52it/s]
 17%|█▋        | 219/1261 [02:25<11:27,  1.52it/s]
 17%|█▋        | 220/1261 [02:25<11:27,  1.51it/s]
 18%|█▊        | 221/1261 [02:26<11:31,  1.50it/s]
 18%|█▊        | 222/1261 [02:27<11:33,  1.50it/s]
 18%|█▊        | 223/1261 [02:27<11:30,  1.50it/s]
 18%|█▊        | 224/1261 [02:28<11:28,  1.51it/s]
 18%|█▊        | 225/1261 [02:29<11:27,  1.51it/s]
 18%|█▊        | 226/1261 [02:29<11:27,  1.51it/s]
 18%|█▊        | 227/1261 [02:30<11:26,  1.51it/s]
 18%|█▊        | 228/1261 [02:31<11:27,  1.50it/s]
 18%|█▊        | 229/1261 [02:31<11:24,  1.51it/s]
 18%|█▊        | 230/1261 [02:32<11:24,  1.51it/s]
 18%|█▊        | 231/1261 [02:33<11:23,  1.51it/s]
 18%|█▊        | 232/1261 [02:33<11:21,  1.51it/s]
 18%|█▊        | 233/1261 [02:34<11:19,  1.51it/s]
 19%|█▊        | 234/1261 [02:35<11:19,  1.51it/s]
 19%|█▊        | 235/1261 [02:35<11:20,  1.51it/s]
 19%|█▊        | 236/1261 [02:36<11:19,  1.51it/s]
 19%|█▉        | 237/1261 [02:37<11:21,  1.50it/s]
 19%|█▉        | 238/1261 [02:37<11:20,  1.50it/s]
 19%|█▉        | 239/1261 [02:38<11:16,  1.51it/s]
 19%|█▉        | 240/1261 [02:39<11:15,  1.51it/s]
 19%|█▉        | 241/1261 [02:39<11:18,  1.50it/s]
 19%|█▉        | 242/1261 [02:40<11:15,  1.51it/s]
 19%|█▉        | 243/1261 [02:41<11:17,  1.50it/s]
 19%|█▉        | 244/1261 [02:41<11:15,  1.51it/s]
 19%|█▉        | 245/1261 [02:42<11:14,  1.51it/s]
 20%|█▉        | 246/1261 [02:43<11:14,  1.50it/s]
 20%|█▉        | 247/1261 [02:43<11:12,  1.51it/s]
 20%|█▉        | 248/1261 [02:44<11:10,  1.51it/s]
 20%|█▉        | 249/1261 [02:45<11:22,  1.48it/s]
 20%|█▉        | 250/1261 [02:45<11:17,  1.49it/s]
 20%|█▉        | 251/1261 [02:46<11:13,  1.50it/s]
 20%|█▉        | 252/1261 [02:47<11:10,  1.50it/s]
 20%|██        | 253/1261 [02:47<11:08,  1.51it/s]
 20%|██        | 254/1261 [02:48<11:07,  1.51it/s]
 20%|██        | 255/1261 [02:49<11:24,  1.47it/s]
 20%|██        | 256/1261 [02:49<11:17,  1.48it/s]
 20%|██        | 257/1261 [02:50<11:10,  1.50it/s]
 20%|██        | 258/1261 [02:51<11:09,  1.50it/s]
 21%|██        | 259/1261 [02:51<11:05,  1.51it/s]
 21%|██        | 260/1261 [02:52<11:01,  1.51it/s]
 21%|██        | 261/1261 [02:52<10:57,  1.52it/s]
 21%|██        | 262/1261 [02:53<10:57,  1.52it/s]
 21%|██        | 263/1261 [02:54<10:56,  1.52it/s]
 21%|██        | 264/1261 [02:54<10:56,  1.52it/s]
 21%|██        | 265/1261 [02:55<10:56,  1.52it/s]
 21%|██        | 266/1261 [02:56<10:56,  1.52it/s]
 21%|██        | 267/1261 [02:56<10:55,  1.52it/s]
 21%|██▏       | 268/1261 [02:57<10:55,  1.52it/s]
 21%|██▏       | 269/1261 [02:58<10:53,  1.52it/s]
 21%|██▏       | 270/1261 [02:58<10:52,  1.52it/s]
 21%|██▏       | 271/1261 [02:59<10:53,  1.52it/s]
 22%|██▏       | 272/1261 [03:00<11:00,  1.50it/s]
 22%|██▏       | 273/1261 [03:00<10:57,  1.50it/s]
 22%|██▏       | 274/1261 [03:01<10:59,  1.50it/s]
 22%|██▏       | 275/1261 [03:02<10:55,  1.50it/s]
 22%|██▏       | 276/1261 [03:02<10:55,  1.50it/s]
 22%|██▏       | 277/1261 [03:03<10:50,  1.51it/s]
 22%|██▏       | 278/1261 [03:04<10:49,  1.51it/s]
 22%|██▏       | 279/1261 [03:04<10:47,  1.52it/s]
 22%|██▏       | 280/1261 [03:05<10:48,  1.51it/s]
 22%|██▏       | 281/1261 [03:06<10:49,  1.51it/s]
 22%|██▏       | 282/1261 [03:06<10:48,  1.51it/s]
 22%|██▏       | 283/1261 [03:07<10:47,  1.51it/s]
 23%|██▎       | 284/1261 [03:08<10:49,  1.50it/s]
 23%|██▎       | 285/1261 [03:08<10:46,  1.51it/s]
 23%|██▎       | 286/1261 [03:09<10:47,  1.51it/s]
 23%|██▎       | 287/1261 [03:10<10:45,  1.51it/s]
 23%|██▎       | 288/1261 [03:10<10:46,  1.51it/s]
 23%|██▎       | 289/1261 [03:11<10:43,  1.51it/s]
 23%|██▎       | 290/1261 [03:12<10:43,  1.51it/s]
 23%|██▎       | 291/1261 [03:12<10:41,  1.51it/s]
 23%|██▎       | 292/1261 [03:13<10:42,  1.51it/s]
 23%|██▎       | 293/1261 [03:14<10:43,  1.50it/s]
 23%|██▎       | 294/1261 [03:14<10:47,  1.49it/s]
 23%|██▎       | 295/1261 [03:15<10:43,  1.50it/s]
 23%|██▎       | 296/1261 [03:16<10:38,  1.51it/s]
 24%|██▎       | 297/1261 [03:16<10:35,  1.52it/s]
 24%|██▎       | 298/1261 [03:17<10:32,  1.52it/s]
 24%|██▎       | 299/1261 [03:18<10:31,  1.52it/s]
 24%|██▍       | 300/1261 [03:18<10:30,  1.53it/s]
 24%|██▍       | 301/1261 [03:19<10:30,  1.52it/s]
 24%|██▍       | 302/1261 [03:20<10:28,  1.52it/s]
 24%|██▍       | 303/1261 [03:20<10:27,  1.53it/s]
 24%|██▍       | 304/1261 [03:21<10:32,  1.51it/s]
 24%|██▍       | 305/1261 [03:22<10:30,  1.52it/s]
 24%|██▍       | 306/1261 [03:22<10:34,  1.51it/s]
 24%|██▍       | 307/1261 [03:23<10:31,  1.51it/s]
 24%|██▍       | 308/1261 [03:24<10:34,  1.50it/s]
 25%|██▍       | 309/1261 [03:24<10:32,  1.51it/s]
 25%|██▍       | 310/1261 [03:25<10:30,  1.51it/s]
 25%|██▍       | 311/1261 [03:26<10:30,  1.51it/s]
 25%|██▍       | 312/1261 [03:26<10:28,  1.51it/s]
 25%|██▍       | 313/1261 [03:27<10:28,  1.51it/s]
 25%|██▍       | 314/1261 [03:28<10:32,  1.50it/s]
 25%|██▍       | 315/1261 [03:28<10:28,  1.51it/s]
 25%|██▌       | 316/1261 [03:29<10:26,  1.51it/s]
 25%|██▌       | 317/1261 [03:30<10:25,  1.51it/s]
 25%|██▌       | 318/1261 [03:30<10:30,  1.50it/s]
 25%|██▌       | 319/1261 [03:31<10:29,  1.50it/s]
 25%|██▌       | 320/1261 [03:32<10:29,  1.49it/s]
 25%|██▌       | 321/1261 [03:32<10:24,  1.51it/s]
 26%|██▌       | 322/1261 [03:33<10:19,  1.52it/s]
 26%|██▌       | 323/1261 [03:34<10:18,  1.52it/s]
 26%|██▌       | 324/1261 [03:34<10:18,  1.52it/s]
 26%|██▌       | 325/1261 [03:35<10:16,  1.52it/s]
 26%|██▌       | 326/1261 [03:36<10:15,  1.52it/s]
 26%|██▌       | 327/1261 [03:36<10:15,  1.52it/s]
 26%|██▌       | 328/1261 [03:37<10:13,  1.52it/s]
 26%|██▌       | 329/1261 [03:37<10:11,  1.52it/s]
 26%|██▌       | 330/1261 [03:38<10:16,  1.51it/s]
 26%|██▌       | 331/1261 [03:39<10:14,  1.51it/s]
 26%|██▋       | 332/1261 [03:39<10:12,  1.52it/s]
 26%|██▋       | 333/1261 [03:40<10:10,  1.52it/s]
 26%|██▋       | 334/1261 [03:41<10:08,  1.52it/s]
 27%|██▋       | 335/1261 [03:41<10:06,  1.53it/s]
 27%|██▋       | 336/1261 [03:42<10:11,  1.51it/s]
 27%|██▋       | 337/1261 [03:43<10:11,  1.51it/s]
 27%|██▋       | 338/1261 [03:43<10:08,  1.52it/s]
 27%|██▋       | 339/1261 [03:44<10:08,  1.52it/s]
 27%|██▋       | 340/1261 [03:45<10:15,  1.50it/s]
 27%|██▋       | 341/1261 [03:45<10:13,  1.50it/s]
 27%|██▋       | 342/1261 [03:46<10:12,  1.50it/s]
 27%|██▋       | 343/1261 [03:47<10:09,  1.50it/s]
 27%|██▋       | 344/1261 [03:47<10:08,  1.51it/s]
 27%|██▋       | 345/1261 [03:48<10:06,  1.51it/s]
 27%|██▋       | 346/1261 [03:49<10:05,  1.51it/s]
 28%|██▊       | 347/1261 [03:49<10:05,  1.51it/s]
 28%|██▊       | 348/1261 [03:50<10:04,  1.51it/s]
 28%|██▊       | 349/1261 [03:51<10:02,  1.51it/s]
 28%|██▊       | 350/1261 [03:51<10:03,  1.51it/s]
 28%|██▊       | 351/1261 [03:52<10:01,  1.51it/s]
 28%|██▊       | 352/1261 [03:53<10:00,  1.51it/s]
 28%|██▊       | 353/1261 [03:53<09:57,  1.52it/s]
 28%|██▊       | 354/1261 [03:54<09:55,  1.52it/s]
 28%|██▊       | 355/1261 [03:55<09:53,  1.53it/s]
 28%|██▊       | 356/1261 [03:55<09:53,  1.53it/s]
 28%|██▊       | 357/1261 [03:56<09:51,  1.53it/s]
 28%|██▊       | 358/1261 [03:57<09:56,  1.51it/s]
 28%|██▊       | 359/1261 [03:57<09:54,  1.52it/s]
 29%|██▊       | 360/1261 [03:58<09:57,  1.51it/s]
 29%|██▊       | 361/1261 [03:59<09:57,  1.51it/s]
 29%|██▊       | 362/1261 [03:59<09:53,  1.52it/s]
 29%|██▉       | 363/1261 [04:00<10:01,  1.49it/s]
 29%|██▉       | 364/1261 [04:01<09:57,  1.50it/s]
 29%|██▉       | 365/1261 [04:01<09:55,  1.50it/s]
 29%|██▉       | 366/1261 [04:02<09:57,  1.50it/s]
 29%|██▉       | 367/1261 [04:03<09:55,  1.50it/s]
 29%|██▉       | 368/1261 [04:03<09:53,  1.50it/s]
 29%|██▉       | 369/1261 [04:04<09:51,  1.51it/s]
 29%|██▉       | 370/1261 [04:05<09:51,  1.51it/s]
 29%|██▉       | 371/1261 [04:05<09:49,  1.51it/s]
 30%|██▉       | 372/1261 [04:06<10:03,  1.47it/s]
 30%|██▉       | 373/1261 [04:07<09:56,  1.49it/s]
 30%|██▉       | 374/1261 [04:07<09:53,  1.49it/s]
 30%|██▉       | 375/1261 [04:08<09:49,  1.50it/s]
 30%|██▉       | 376/1261 [04:09<09:52,  1.49it/s]
 30%|██▉       | 377/1261 [04:09<09:51,  1.49it/s]
 30%|██▉       | 378/1261 [04:10<09:49,  1.50it/s]
 30%|███       | 379/1261 [04:11<09:45,  1.51it/s]
 30%|███       | 380/1261 [04:11<09:47,  1.50it/s]
 30%|███       | 381/1261 [04:12<09:43,  1.51it/s]
 30%|███       | 382/1261 [04:13<09:49,  1.49it/s]
 30%|███       | 383/1261 [04:13<09:44,  1.50it/s]
 30%|███       | 384/1261 [04:14<09:54,  1.47it/s]
 31%|███       | 385/1261 [04:15<09:49,  1.49it/s]
 31%|███       | 386/1261 [04:15<09:44,  1.50it/s]
 31%|███       | 387/1261 [04:16<09:42,  1.50it/s]
 31%|███       | 388/1261 [04:17<09:38,  1.51it/s]
 31%|███       | 389/1261 [04:17<09:38,  1.51it/s]
 31%|███       | 390/1261 [04:18<09:41,  1.50it/s]
 31%|███       | 391/1261 [04:19<09:37,  1.51it/s]
 31%|███       | 392/1261 [04:19<09:40,  1.50it/s]
 31%|███       | 393/1261 [04:20<09:35,  1.51it/s]
 31%|███       | 394/1261 [04:21<09:38,  1.50it/s]
 31%|███▏      | 395/1261 [04:21<09:36,  1.50it/s]
 31%|███▏      | 396/1261 [04:22<09:38,  1.50it/s]
 31%|███▏      | 397/1261 [04:23<09:34,  1.50it/s]
 32%|███▏      | 398/1261 [04:23<09:31,  1.51it/s]
 32%|███▏      | 399/1261 [04:24<09:28,  1.52it/s]
 32%|███▏      | 400/1261 [04:25<09:26,  1.52it/s]
 32%|███▏      | 401/1261 [04:25<09:24,  1.52it/s]
 32%|███▏      | 402/1261 [04:26<09:23,  1.52it/s]
 32%|███▏      | 403/1261 [04:27<09:24,  1.52it/s]
 32%|███▏      | 404/1261 [04:27<09:23,  1.52it/s]
 32%|███▏      | 405/1261 [04:28<09:21,  1.52it/s]
 32%|███▏      | 406/1261 [04:29<09:20,  1.52it/s]
 32%|███▏      | 407/1261 [04:29<09:19,  1.53it/s]
 32%|███▏      | 408/1261 [04:30<09:28,  1.50it/s]
 32%|███▏      | 409/1261 [04:31<09:24,  1.51it/s]
 33%|███▎      | 410/1261 [04:31<09:27,  1.50it/s]
 33%|███▎      | 411/1261 [04:32<09:26,  1.50it/s]
 33%|███▎      | 412/1261 [04:33<09:22,  1.51it/s]
 33%|███▎      | 413/1261 [04:33<09:20,  1.51it/s]
 33%|███▎      | 414/1261 [04:34<09:30,  1.49it/s]
 33%|███▎      | 415/1261 [04:35<09:24,  1.50it/s]
 33%|███▎      | 416/1261 [04:35<09:20,  1.51it/s]
 33%|███▎      | 417/1261 [04:36<09:17,  1.52it/s]
 33%|███▎      | 418/1261 [04:37<09:14,  1.52it/s]
 33%|███▎      | 419/1261 [04:37<09:17,  1.51it/s]
 33%|███▎      | 420/1261 [04:38<09:14,  1.52it/s]
 33%|███▎      | 421/1261 [04:39<09:12,  1.52it/s]
 33%|███▎      | 422/1261 [04:39<09:10,  1.52it/s]
 34%|███▎      | 423/1261 [04:40<09:09,  1.52it/s]
 34%|███▎      | 424/1261 [04:40<09:14,  1.51it/s]
 34%|███▎      | 425/1261 [04:41<09:15,  1.51it/s]
 34%|███▍      | 426/1261 [04:42<09:17,  1.50it/s]
 34%|███▍      | 427/1261 [04:42<09:16,  1.50it/s]
 34%|███▍      | 428/1261 [04:43<09:14,  1.50it/s]
 34%|███▍      | 429/1261 [04:44<09:13,  1.50it/s]
 34%|███▍      | 430/1261 [04:44<09:11,  1.51it/s]
 34%|███▍      | 431/1261 [04:45<09:10,  1.51it/s]
 34%|███▍      | 432/1261 [04:46<09:09,  1.51it/s]
 34%|███▍      | 433/1261 [04:46<09:06,  1.51it/s]
 34%|███▍      | 434/1261 [04:47<09:07,  1.51it/s]
 34%|███▍      | 435/1261 [04:48<09:04,  1.52it/s]
 35%|███▍      | 436/1261 [04:48<09:02,  1.52it/s]
 35%|███▍      | 437/1261 [04:49<09:06,  1.51it/s]
 35%|███▍      | 438/1261 [04:50<09:03,  1.51it/s]
 35%|███▍      | 439/1261 [04:50<09:02,  1.52it/s]
 35%|███▍      | 440/1261 [04:51<09:00,  1.52it/s]
 35%|███▍      | 441/1261 [04:52<09:00,  1.52it/s]
 35%|███▌      | 442/1261 [04:52<09:00,  1.51it/s]
 35%|███▌      | 443/1261 [04:53<09:01,  1.51it/s]
 35%|███▌      | 444/1261 [04:54<09:00,  1.51it/s]
 35%|███▌      | 445/1261 [04:54<08:59,  1.51it/s]
 35%|███▌      | 446/1261 [04:55<08:59,  1.51it/s]
 35%|███▌      | 447/1261 [04:56<08:58,  1.51it/s]
 36%|███▌      | 448/1261 [04:56<08:57,  1.51it/s]
 36%|███▌      | 449/1261 [04:57<08:57,  1.51it/s]
 36%|███▌      | 450/1261 [04:58<08:59,  1.50it/s]
 36%|███▌      | 451/1261 [04:58<09:00,  1.50it/s]
 36%|███▌      | 452/1261 [04:59<08:57,  1.50it/s]
 36%|███▌      | 453/1261 [05:00<08:54,  1.51it/s]
 36%|███▌      | 454/1261 [05:00<08:51,  1.52it/s]
 36%|███▌      | 455/1261 [05:01<08:50,  1.52it/s]
 36%|███▌      | 456/1261 [05:02<08:53,  1.51it/s]
 36%|███▌      | 457/1261 [05:02<08:50,  1.52it/s]
 36%|███▋      | 458/1261 [05:03<08:48,  1.52it/s]
 36%|███▋      | 459/1261 [05:04<08:49,  1.51it/s]
 36%|███▋      | 460/1261 [05:04<08:48,  1.52it/s]
 37%|███▋      | 461/1261 [05:05<08:45,  1.52it/s]
 37%|███▋      | 462/1261 [05:06<08:44,  1.52it/s]
 37%|███▋      | 463/1261 [05:06<08:46,  1.52it/s]
 37%|███▋      | 464/1261 [05:07<08:44,  1.52it/s]
 37%|███▋      | 465/1261 [05:08<08:42,  1.52it/s]
 37%|███▋      | 466/1261 [05:08<08:39,  1.53it/s]
 37%|███▋      | 467/1261 [05:09<08:41,  1.52it/s]
 37%|███▋      | 468/1261 [05:10<08:42,  1.52it/s]
 37%|███▋      | 469/1261 [05:10<08:47,  1.50it/s]
 37%|███▋      | 470/1261 [05:11<08:50,  1.49it/s]
 37%|███▋      | 471/1261 [05:12<08:46,  1.50it/s]
 37%|███▋      | 472/1261 [05:12<08:46,  1.50it/s]
 38%|███▊      | 473/1261 [05:13<08:50,  1.49it/s]
 38%|███▊      | 474/1261 [05:14<08:46,  1.50it/s]
 38%|███▊      | 475/1261 [05:14<08:44,  1.50it/s]
 38%|███▊      | 476/1261 [05:15<08:43,  1.50it/s]
 38%|███▊      | 477/1261 [05:16<08:43,  1.50it/s]
 38%|███▊      | 478/1261 [05:16<08:40,  1.50it/s]
 38%|███▊      | 479/1261 [05:17<08:40,  1.50it/s]
 38%|███▊      | 480/1261 [05:18<08:38,  1.51it/s]
 38%|███▊      | 481/1261 [05:18<08:36,  1.51it/s]
 38%|███▊      | 482/1261 [05:19<08:37,  1.50it/s]
 38%|███▊      | 483/1261 [05:20<08:35,  1.51it/s]
 38%|███▊      | 484/1261 [05:20<08:33,  1.51it/s]
 38%|███▊      | 485/1261 [05:21<08:35,  1.51it/s]
 39%|███▊      | 486/1261 [05:22<08:34,  1.51it/s]
 39%|███▊      | 487/1261 [05:22<08:35,  1.50it/s]
 39%|███▊      | 488/1261 [05:23<08:32,  1.51it/s]
 39%|███▉      | 489/1261 [05:24<08:35,  1.50it/s]
 39%|███▉      | 490/1261 [05:24<08:31,  1.51it/s]
 39%|███▉      | 491/1261 [05:25<08:33,  1.50it/s]
 39%|███▉      | 492/1261 [05:26<08:30,  1.51it/s]
 39%|███▉      | 493/1261 [05:26<08:27,  1.51it/s]
 39%|███▉      | 494/1261 [05:27<08:27,  1.51it/s]
 39%|███▉      | 495/1261 [05:28<08:27,  1.51it/s]
 39%|███▉      | 496/1261 [05:28<08:26,  1.51it/s]
 39%|███▉      | 497/1261 [05:29<08:25,  1.51it/s]
 39%|███▉      | 498/1261 [05:30<08:25,  1.51it/s]
 40%|███▉      | 499/1261 [05:30<08:28,  1.50it/s]
 40%|███▉      | 500/1261 [05:31<08:26,  1.50it/s]
 40%|███▉      | 501/1261 [05:32<08:25,  1.50it/s]
 40%|███▉      | 502/1261 [05:32<08:26,  1.50it/s]
 40%|███▉      | 503/1261 [05:33<08:26,  1.50it/s]
 40%|███▉      | 504/1261 [05:34<08:23,  1.50it/s]
 40%|████      | 505/1261 [05:34<08:22,  1.50it/s]
 40%|████      | 506/1261 [05:35<08:19,  1.51it/s]
 40%|████      | 507/1261 [05:36<08:20,  1.51it/s]
 40%|████      | 508/1261 [05:36<08:22,  1.50it/s]
 40%|████      | 509/1261 [05:37<08:21,  1.50it/s]
 40%|████      | 510/1261 [05:38<08:20,  1.50it/s]
 41%|████      | 511/1261 [05:38<08:19,  1.50it/s]
 41%|████      | 512/1261 [05:39<08:18,  1.50it/s]
 41%|████      | 513/1261 [05:40<08:17,  1.50it/s]
 41%|████      | 514/1261 [05:40<08:14,  1.51it/s]
 41%|████      | 515/1261 [05:41<08:13,  1.51it/s]
 41%|████      | 516/1261 [05:41<08:11,  1.52it/s]
 41%|████      | 517/1261 [05:42<08:11,  1.51it/s]
 41%|████      | 518/1261 [05:43<08:09,  1.52it/s]
 41%|████      | 519/1261 [05:43<08:09,  1.52it/s]
 41%|████      | 520/1261 [05:44<08:11,  1.51it/s]
 41%|████▏     | 521/1261 [05:45<08:13,  1.50it/s]
 41%|████▏     | 522/1261 [05:45<08:09,  1.51it/s]
 41%|████▏     | 523/1261 [05:46<08:07,  1.51it/s]
 42%|████▏     | 524/1261 [05:47<08:06,  1.52it/s]
 42%|████▏     | 525/1261 [05:47<08:04,  1.52it/s]
 42%|████▏     | 526/1261 [05:48<08:08,  1.50it/s]
 42%|████▏     | 527/1261 [05:49<08:05,  1.51it/s]
 42%|████▏     | 528/1261 [05:49<08:07,  1.50it/s]
 42%|████▏     | 529/1261 [05:50<08:06,  1.50it/s]
 42%|████▏     | 530/1261 [05:51<08:03,  1.51it/s]
 42%|████▏     | 531/1261 [05:51<08:03,  1.51it/s]
 42%|████▏     | 532/1261 [05:52<08:05,  1.50it/s]
 42%|████▏     | 533/1261 [05:53<08:01,  1.51it/s]
 42%|████▏     | 534/1261 [05:53<08:03,  1.50it/s]
 42%|████▏     | 535/1261 [05:54<08:00,  1.51it/s]
 43%|████▎     | 536/1261 [05:55<07:57,  1.52it/s]
 43%|████▎     | 537/1261 [05:55<07:56,  1.52it/s]
 43%|████▎     | 538/1261 [05:56<07:55,  1.52it/s]
 43%|████▎     | 539/1261 [05:57<07:56,  1.51it/s]
 43%|████▎     | 540/1261 [05:57<07:59,  1.50it/s]
 43%|████▎     | 541/1261 [05:58<07:56,  1.51it/s]
 43%|████▎     | 542/1261 [05:59<07:54,  1.52it/s]
 43%|████▎     | 543/1261 [05:59<07:54,  1.51it/s]
 43%|████▎     | 544/1261 [06:00<08:01,  1.49it/s]
 43%|████▎     | 545/1261 [06:01<07:58,  1.50it/s]
 43%|████▎     | 546/1261 [06:01<08:00,  1.49it/s]
 43%|████▎     | 547/1261 [06:02<07:58,  1.49it/s]
 43%|████▎     | 548/1261 [06:03<07:57,  1.49it/s]
 44%|████▎     | 549/1261 [06:03<07:55,  1.50it/s]
 44%|████▎     | 550/1261 [06:04<07:53,  1.50it/s]
 44%|████▎     | 551/1261 [06:05<07:52,  1.50it/s]
 44%|████▍     | 552/1261 [06:05<07:55,  1.49it/s]
 44%|████▍     | 553/1261 [06:06<07:54,  1.49it/s]
 44%|████▍     | 554/1261 [06:07<07:55,  1.49it/s]
 44%|████▍     | 555/1261 [06:07<07:56,  1.48it/s]
 44%|████▍     | 556/1261 [06:08<07:57,  1.48it/s]
 44%|████▍     | 557/1261 [06:09<07:52,  1.49it/s]
 44%|████▍     | 558/1261 [06:09<07:48,  1.50it/s]
 44%|████▍     | 559/1261 [06:10<07:49,  1.50it/s]
 44%|████▍     | 560/1261 [06:11<07:45,  1.51it/s]
 44%|████▍     | 561/1261 [06:11<07:47,  1.50it/s]
 45%|████▍     | 562/1261 [06:12<07:46,  1.50it/s]
 45%|████▍     | 563/1261 [06:13<07:45,  1.50it/s]
 45%|████▍     | 564/1261 [06:13<07:42,  1.51it/s]
 45%|████▍     | 565/1261 [06:14<07:41,  1.51it/s]
 45%|████▍     | 566/1261 [06:15<07:44,  1.50it/s]
 45%|████▍     | 567/1261 [06:15<07:40,  1.51it/s]
 45%|████▌     | 568/1261 [06:16<07:38,  1.51it/s]
 45%|████▌     | 569/1261 [06:17<07:38,  1.51it/s]
 45%|████▌     | 570/1261 [06:17<07:36,  1.51it/s]
 45%|████▌     | 571/1261 [06:18<07:34,  1.52it/s]
 45%|████▌     | 572/1261 [06:19<07:33,  1.52it/s]
 45%|████▌     | 573/1261 [06:19<07:37,  1.50it/s]
 46%|████▌     | 574/1261 [06:20<07:39,  1.50it/s]
 46%|████▌     | 575/1261 [06:21<07:37,  1.50it/s]
 46%|████▌     | 576/1261 [06:21<07:33,  1.51it/s]
 46%|████▌     | 577/1261 [06:22<07:33,  1.51it/s]
 46%|████▌     | 578/1261 [06:23<07:36,  1.50it/s]
 46%|████▌     | 579/1261 [06:23<07:36,  1.49it/s]
 46%|████▌     | 580/1261 [06:24<07:31,  1.51it/s]
 46%|████▌     | 581/1261 [06:25<07:32,  1.50it/s]
 46%|████▌     | 582/1261 [06:25<07:30,  1.51it/s]
 46%|████▌     | 583/1261 [06:26<07:27,  1.51it/s]
 46%|████▋     | 584/1261 [06:27<07:27,  1.51it/s]
 46%|████▋     | 585/1261 [06:27<07:30,  1.50it/s]
 46%|████▋     | 586/1261 [06:28<07:27,  1.51it/s]
 47%|████▋     | 587/1261 [06:29<07:26,  1.51it/s]
 47%|████▋     | 588/1261 [06:29<07:23,  1.52it/s]
 47%|████▋     | 589/1261 [06:30<07:23,  1.52it/s]
 47%|████▋     | 590/1261 [06:31<07:20,  1.52it/s]
 47%|████▋     | 591/1261 [06:31<07:20,  1.52it/s]
 47%|████▋     | 592/1261 [06:32<07:25,  1.50it/s]
 47%|████▋     | 593/1261 [06:33<07:24,  1.50it/s]
 47%|████▋     | 594/1261 [06:33<07:27,  1.49it/s]
 47%|████▋     | 595/1261 [06:34<07:29,  1.48it/s]
 47%|████▋     | 596/1261 [06:35<07:29,  1.48it/s]
 47%|████▋     | 597/1261 [06:35<07:24,  1.49it/s]
 47%|████▋     | 598/1261 [06:36<07:20,  1.51it/s]
 48%|████▊     | 599/1261 [06:37<07:19,  1.51it/s]
 48%|████▊     | 600/1261 [06:37<07:17,  1.51it/s]
 48%|████▊     | 601/1261 [06:38<07:14,  1.52it/s]
 48%|████▊     | 602/1261 [06:39<07:14,  1.52it/s]
 48%|████▊     | 603/1261 [06:39<07:11,  1.52it/s]
 48%|████▊     | 604/1261 [06:40<07:18,  1.50it/s]
 48%|████▊     | 605/1261 [06:41<07:21,  1.49it/s]
 48%|████▊     | 606/1261 [06:41<07:15,  1.50it/s]
 48%|████▊     | 607/1261 [06:42<07:14,  1.51it/s]
 48%|████▊     | 608/1261 [06:43<07:12,  1.51it/s]
 48%|████▊     | 609/1261 [06:43<07:12,  1.51it/s]
 48%|████▊     | 610/1261 [06:44<07:10,  1.51it/s]
 48%|████▊     | 611/1261 [06:45<07:11,  1.51it/s]
 49%|████▊     | 612/1261 [06:45<07:13,  1.50it/s]
 49%|████▊     | 613/1261 [06:46<07:19,  1.47it/s]
 49%|████▊     | 614/1261 [06:47<07:15,  1.49it/s]
 49%|████▉     | 615/1261 [06:47<07:13,  1.49it/s]
 49%|████▉     | 616/1261 [06:48<07:09,  1.50it/s]
 49%|████▉     | 617/1261 [06:49<07:09,  1.50it/s]
 49%|████▉     | 618/1261 [06:49<07:06,  1.51it/s]
 49%|████▉     | 619/1261 [06:50<07:16,  1.47it/s]
 49%|████▉     | 620/1261 [06:51<07:10,  1.49it/s]
 49%|████▉     | 621/1261 [06:51<07:06,  1.50it/s]
 49%|████▉     | 622/1261 [06:52<07:09,  1.49it/s]
 49%|████▉     | 623/1261 [06:53<07:04,  1.50it/s]
 49%|████▉     | 624/1261 [06:53<07:01,  1.51it/s]
 50%|████▉     | 625/1261 [06:54<07:06,  1.49it/s]
 50%|████▉     | 626/1261 [06:55<07:08,  1.48it/s]
 50%|████▉     | 627/1261 [06:55<07:03,  1.50it/s]
 50%|████▉     | 628/1261 [06:56<06:59,  1.51it/s]
 50%|████▉     | 629/1261 [06:57<07:01,  1.50it/s]
 50%|████▉     | 630/1261 [06:57<07:00,  1.50it/s]
 50%|█████     | 631/1261 [06:58<06:57,  1.51it/s]
 50%|█████     | 632/1261 [06:59<06:57,  1.51it/s]
 50%|█████     | 633/1261 [06:59<06:56,  1.51it/s]
 50%|█████     | 634/1261 [07:00<06:56,  1.51it/s]
 50%|█████     | 635/1261 [07:01<06:58,  1.50it/s]
 50%|█████     | 636/1261 [07:01<06:57,  1.50it/s]
 51%|█████     | 637/1261 [07:02<07:03,  1.47it/s]
 51%|█████     | 638/1261 [07:03<07:01,  1.48it/s]
 51%|█████     | 639/1261 [07:03<06:57,  1.49it/s]
 51%|█████     | 640/1261 [07:04<06:56,  1.49it/s]
 51%|█████     | 641/1261 [07:05<06:53,  1.50it/s]
 51%|█████     | 642/1261 [07:05<06:52,  1.50it/s]
 51%|█████     | 643/1261 [07:06<06:50,  1.51it/s]
 51%|█████     | 644/1261 [07:07<06:51,  1.50it/s]
 51%|█████     | 645/1261 [07:07<06:48,  1.51it/s]
 51%|█████     | 646/1261 [07:08<06:45,  1.52it/s]
 51%|█████▏    | 647/1261 [07:09<06:47,  1.51it/s]
 51%|█████▏    | 648/1261 [07:09<06:48,  1.50it/s]
 51%|█████▏    | 649/1261 [07:10<06:51,  1.49it/s]
 52%|█████▏    | 650/1261 [07:11<06:50,  1.49it/s]
 52%|█████▏    | 651/1261 [07:11<06:47,  1.50it/s]
 52%|█████▏    | 652/1261 [07:12<06:47,  1.49it/s]
 52%|█████▏    | 653/1261 [07:13<06:46,  1.50it/s]
 52%|█████▏    | 654/1261 [07:13<06:46,  1.49it/s]
 52%|█████▏    | 655/1261 [07:14<06:43,  1.50it/s]
 52%|█████▏    | 656/1261 [07:15<06:43,  1.50it/s]
 52%|█████▏    | 657/1261 [07:15<06:40,  1.51it/s]
 52%|█████▏    | 658/1261 [07:16<06:40,  1.51it/s]
 52%|█████▏    | 659/1261 [07:17<06:40,  1.50it/s]
 52%|█████▏    | 660/1261 [07:17<06:39,  1.51it/s]
 52%|█████▏    | 661/1261 [07:18<06:38,  1.51it/s]
 52%|█████▏    | 662/1261 [07:19<06:40,  1.50it/s]
 53%|█████▎    | 663/1261 [07:19<06:37,  1.50it/s]
 53%|█████▎    | 664/1261 [07:20<06:37,  1.50it/s]
 53%|█████▎    | 665/1261 [07:21<06:38,  1.49it/s]
 53%|█████▎    | 666/1261 [07:21<06:38,  1.49it/s]
 53%|█████▎    | 667/1261 [07:22<06:36,  1.50it/s]
 53%|█████▎    | 668/1261 [07:23<06:34,  1.50it/s]
 53%|█████▎    | 669/1261 [07:23<06:34,  1.50it/s]
 53%|█████▎    | 670/1261 [07:24<06:32,  1.50it/s]
 53%|█████▎    | 671/1261 [07:25<06:30,  1.51it/s]
 53%|█████▎    | 672/1261 [07:25<06:33,  1.50it/s]
 53%|█████▎    | 673/1261 [07:26<06:30,  1.51it/s]
 53%|█████▎    | 674/1261 [07:27<06:33,  1.49it/s]
 54%|█████▎    | 675/1261 [07:27<06:34,  1.49it/s]
 54%|█████▎    | 676/1261 [07:28<06:32,  1.49it/s]
 54%|█████▎    | 677/1261 [07:29<06:28,  1.50it/s]
 54%|█████▍    | 678/1261 [07:29<06:27,  1.51it/s]
 54%|█████▍    | 679/1261 [07:30<06:27,  1.50it/s]
 54%|█████▍    | 680/1261 [07:31<06:26,  1.50it/s]
 54%|█████▍    | 681/1261 [07:31<06:23,  1.51it/s]
 54%|█████▍    | 682/1261 [07:32<06:25,  1.50it/s]
 54%|█████▍    | 683/1261 [07:33<06:23,  1.51it/s]
 54%|█████▍    | 684/1261 [07:33<06:22,  1.51it/s]
 54%|█████▍    | 685/1261 [07:34<06:20,  1.51it/s]
 54%|█████▍    | 686/1261 [07:35<06:18,  1.52it/s]
 54%|█████▍    | 687/1261 [07:35<06:17,  1.52it/s]
 55%|█████▍    | 688/1261 [07:36<06:24,  1.49it/s]
 55%|█████▍    | 689/1261 [07:37<06:21,  1.50it/s]
 55%|█████▍    | 690/1261 [07:37<06:20,  1.50it/s]
 55%|█████▍    | 691/1261 [07:38<06:23,  1.49it/s]
 55%|█████▍    | 692/1261 [07:39<06:19,  1.50it/s]
 55%|█████▍    | 693/1261 [07:39<06:19,  1.50it/s]
 55%|█████▌    | 694/1261 [07:40<06:19,  1.49it/s]
 55%|█████▌    | 695/1261 [07:41<06:16,  1.51it/s]
 55%|█████▌    | 696/1261 [07:41<06:17,  1.50it/s]
 55%|█████▌    | 697/1261 [07:42<06:14,  1.51it/s]
 55%|█████▌    | 698/1261 [07:43<06:12,  1.51it/s]
 55%|█████▌    | 699/1261 [07:43<06:10,  1.52it/s]
 56%|█████▌    | 700/1261 [07:44<06:12,  1.51it/s]
 56%|█████▌    | 701/1261 [07:45<06:11,  1.51it/s]
 56%|█████▌    | 702/1261 [07:45<06:09,  1.51it/s]
 56%|█████▌    | 703/1261 [07:46<06:17,  1.48it/s]
 56%|█████▌    | 704/1261 [07:47<06:16,  1.48it/s]
 56%|█████▌    | 705/1261 [07:47<06:13,  1.49it/s]
 56%|█████▌    | 706/1261 [07:48<06:10,  1.50it/s]
 56%|█████▌    | 707/1261 [07:49<06:08,  1.50it/s]
 56%|█████▌    | 708/1261 [07:49<06:08,  1.50it/s]
 56%|█████▌    | 709/1261 [07:50<06:06,  1.51it/s]
 56%|█████▋    | 710/1261 [07:51<06:07,  1.50it/s]
 56%|█████▋    | 711/1261 [07:51<06:05,  1.50it/s]
 56%|█████▋    | 712/1261 [07:52<06:03,  1.51it/s]
 57%|█████▋    | 713/1261 [07:53<06:01,  1.52it/s]
 57%|█████▋    | 714/1261 [07:53<06:01,  1.51it/s]
 57%|█████▋    | 715/1261 [07:54<06:09,  1.48it/s]
 57%|█████▋    | 716/1261 [07:55<06:08,  1.48it/s]
 57%|█████▋    | 717/1261 [07:55<06:06,  1.49it/s]
 57%|█████▋    | 718/1261 [07:56<06:02,  1.50it/s]
 57%|█████▋    | 719/1261 [07:57<05:59,  1.51it/s]
 57%|█████▋    | 720/1261 [07:57<06:00,  1.50it/s]
 57%|█████▋    | 721/1261 [07:58<06:03,  1.49it/s]
 57%|█████▋    | 722/1261 [07:59<06:02,  1.49it/s]
 57%|█████▋    | 723/1261 [07:59<06:00,  1.49it/s]
 57%|█████▋    | 724/1261 [08:00<06:00,  1.49it/s]
 57%|█████▋    | 725/1261 [08:01<05:56,  1.50it/s]
 58%|█████▊    | 726/1261 [08:01<05:54,  1.51it/s]
 58%|█████▊    | 727/1261 [08:02<05:53,  1.51it/s]
 58%|█████▊    | 728/1261 [08:03<05:51,  1.52it/s]
 58%|█████▊    | 729/1261 [08:03<05:51,  1.51it/s]
 58%|█████▊    | 730/1261 [08:04<06:02,  1.47it/s]
 58%|█████▊    | 731/1261 [08:05<05:58,  1.48it/s]
 58%|█████▊    | 732/1261 [08:05<05:53,  1.49it/s]
 58%|█████▊    | 733/1261 [08:06<05:52,  1.50it/s]
 58%|█████▊    | 734/1261 [08:07<05:50,  1.50it/s]
 58%|█████▊    | 735/1261 [08:07<05:50,  1.50it/s]
 58%|█████▊    | 736/1261 [08:08<05:49,  1.50it/s]
 58%|█████▊    | 737/1261 [08:09<05:46,  1.51it/s]
 59%|█████▊    | 738/1261 [08:09<05:44,  1.52it/s]
 59%|█████▊    | 739/1261 [08:10<05:45,  1.51it/s]
 59%|█████▊    | 740/1261 [08:11<05:45,  1.51it/s]
 59%|█████▉    | 741/1261 [08:11<05:46,  1.50it/s]
 59%|█████▉    | 742/1261 [08:12<05:44,  1.50it/s]
 59%|█████▉    | 743/1261 [08:13<05:42,  1.51it/s]
 59%|█████▉    | 744/1261 [08:13<05:42,  1.51it/s]
 59%|█████▉    | 745/1261 [08:14<05:43,  1.50it/s]
 59%|█████▉    | 746/1261 [08:15<05:42,  1.50it/s]
 59%|█████▉    | 747/1261 [08:15<05:40,  1.51it/s]
 59%|█████▉    | 748/1261 [08:16<05:40,  1.51it/s]
 59%|█████▉    | 749/1261 [08:17<05:38,  1.51it/s]
 59%|█████▉    | 750/1261 [08:17<05:38,  1.51it/s]
 60%|█████▉    | 751/1261 [08:18<05:39,  1.50it/s]
 60%|█████▉    | 752/1261 [08:19<05:41,  1.49it/s]
 60%|█████▉    | 753/1261 [08:19<05:38,  1.50it/s]
 60%|█████▉    | 754/1261 [08:20<05:37,  1.50it/s]
 60%|█████▉    | 755/1261 [08:21<05:36,  1.51it/s]
 60%|█████▉    | 756/1261 [08:21<05:34,  1.51it/s]
 60%|██████    | 757/1261 [08:22<05:33,  1.51it/s]
 60%|██████    | 758/1261 [08:23<05:32,  1.51it/s]
 60%|██████    | 759/1261 [08:23<05:31,  1.51it/s]
 60%|██████    | 760/1261 [08:24<05:31,  1.51it/s]
 60%|██████    | 761/1261 [08:25<05:29,  1.52it/s]
 60%|██████    | 762/1261 [08:25<05:29,  1.51it/s]
 61%|██████    | 763/1261 [08:26<05:30,  1.50it/s]
 61%|██████    | 764/1261 [08:27<05:29,  1.51it/s]
 61%|██████    | 765/1261 [08:27<05:27,  1.52it/s]
 61%|██████    | 766/1261 [08:28<05:25,  1.52it/s]
 61%|██████    | 767/1261 [08:29<05:24,  1.52it/s]
 61%|██████    | 768/1261 [08:29<05:23,  1.53it/s]
 61%|██████    | 769/1261 [08:30<05:22,  1.53it/s]
 61%|██████    | 770/1261 [08:30<05:21,  1.53it/s]
 61%|██████    | 771/1261 [08:31<05:23,  1.51it/s]
 61%|██████    | 772/1261 [08:32<05:21,  1.52it/s]
 61%|██████▏   | 773/1261 [08:32<05:20,  1.52it/s]
 61%|██████▏   | 774/1261 [08:33<05:19,  1.52it/s]
 61%|██████▏   | 775/1261 [08:34<05:21,  1.51it/s]
 62%|██████▏   | 776/1261 [08:34<05:21,  1.51it/s]
 62%|██████▏   | 777/1261 [08:35<05:21,  1.50it/s]
 62%|██████▏   | 778/1261 [08:36<05:20,  1.51it/s]
 62%|██████▏   | 779/1261 [08:36<05:18,  1.52it/s]
 62%|██████▏   | 780/1261 [08:37<05:18,  1.51it/s]
 62%|██████▏   | 781/1261 [08:38<05:16,  1.52it/s]
 62%|██████▏   | 782/1261 [08:38<05:15,  1.52it/s]
 62%|██████▏   | 783/1261 [08:39<05:14,  1.52it/s]
 62%|██████▏   | 784/1261 [08:40<05:13,  1.52it/s]
 62%|██████▏   | 785/1261 [08:40<05:12,  1.52it/s]
 62%|██████▏   | 786/1261 [08:41<05:13,  1.52it/s]
 62%|██████▏   | 787/1261 [08:42<05:11,  1.52it/s]
 62%|██████▏   | 788/1261 [08:42<05:09,  1.53it/s]
 63%|██████▎   | 789/1261 [08:43<05:08,  1.53it/s]
 63%|██████▎   | 790/1261 [08:44<05:08,  1.53it/s]
 63%|██████▎   | 791/1261 [08:44<05:11,  1.51it/s]
 63%|██████▎   | 792/1261 [08:45<05:11,  1.51it/s]
 63%|██████▎   | 793/1261 [08:46<05:11,  1.50it/s]
 63%|██████▎   | 794/1261 [08:46<05:13,  1.49it/s]
 63%|██████▎   | 795/1261 [08:47<05:10,  1.50it/s]
 63%|██████▎   | 796/1261 [08:48<05:08,  1.51it/s]
 63%|██████▎   | 797/1261 [08:48<05:06,  1.52it/s]
 63%|██████▎   | 798/1261 [08:49<05:05,  1.52it/s]
 63%|██████▎   | 799/1261 [08:50<05:03,  1.52it/s]
 63%|██████▎   | 800/1261 [08:50<05:02,  1.52it/s]
 64%|██████▎   | 801/1261 [08:51<05:02,  1.52it/s]
 64%|██████▎   | 802/1261 [08:52<05:01,  1.52it/s]
 64%|██████▎   | 803/1261 [08:52<05:02,  1.51it/s]
 64%|██████▍   | 804/1261 [08:53<05:03,  1.50it/s]
 64%|██████▍   | 805/1261 [08:54<05:01,  1.51it/s]
 64%|██████▍   | 806/1261 [08:54<05:03,  1.50it/s]
 64%|██████▍   | 807/1261 [08:55<05:03,  1.50it/s]
 64%|██████▍   | 808/1261 [08:56<05:03,  1.49it/s]
 64%|██████▍   | 809/1261 [08:56<05:01,  1.50it/s]
 64%|██████▍   | 810/1261 [08:57<04:58,  1.51it/s]
 64%|██████▍   | 811/1261 [08:58<04:57,  1.51it/s]
 64%|██████▍   | 812/1261 [08:58<04:56,  1.51it/s]
 64%|██████▍   | 813/1261 [08:59<04:56,  1.51it/s]
 65%|██████▍   | 814/1261 [09:00<04:56,  1.51it/s]
 65%|██████▍   | 815/1261 [09:00<04:55,  1.51it/s]
 65%|██████▍   | 816/1261 [09:01<04:54,  1.51it/s]
 65%|██████▍   | 817/1261 [09:02<04:54,  1.51it/s]
 65%|██████▍   | 818/1261 [09:02<04:52,  1.51it/s]
 65%|██████▍   | 819/1261 [09:03<04:52,  1.51it/s]
 65%|██████▌   | 820/1261 [09:04<04:52,  1.51it/s]
 65%|██████▌   | 821/1261 [09:04<04:51,  1.51it/s]
 65%|██████▌   | 822/1261 [09:05<04:50,  1.51it/s]
 65%|██████▌   | 823/1261 [09:06<04:48,  1.52it/s]
 65%|██████▌   | 824/1261 [09:06<04:48,  1.51it/s]
 65%|██████▌   | 825/1261 [09:07<04:47,  1.52it/s]
 66%|██████▌   | 826/1261 [09:08<04:46,  1.52it/s]
 66%|██████▌   | 827/1261 [09:08<04:46,  1.51it/s]
 66%|██████▌   | 828/1261 [09:09<04:46,  1.51it/s]
 66%|██████▌   | 829/1261 [09:10<04:46,  1.51it/s]
 66%|██████▌   | 830/1261 [09:10<04:46,  1.51it/s]
 66%|██████▌   | 831/1261 [09:11<04:46,  1.50it/s]
 66%|██████▌   | 832/1261 [09:12<04:45,  1.50it/s]
 66%|██████▌   | 833/1261 [09:12<04:45,  1.50it/s]
 66%|██████▌   | 834/1261 [09:13<04:46,  1.49it/s]
 66%|██████▌   | 835/1261 [09:14<04:46,  1.49it/s]
 66%|██████▋   | 836/1261 [09:14<04:43,  1.50it/s]
 66%|██████▋   | 837/1261 [09:15<04:43,  1.49it/s]
 66%|██████▋   | 838/1261 [09:16<04:41,  1.50it/s]
 67%|██████▋   | 839/1261 [09:16<04:42,  1.50it/s]
 67%|██████▋   | 840/1261 [09:17<04:39,  1.51it/s]
 67%|██████▋   | 841/1261 [09:18<04:38,  1.51it/s]
 67%|██████▋   | 842/1261 [09:18<04:39,  1.50it/s]
 67%|██████▋   | 843/1261 [09:19<04:36,  1.51it/s]
 67%|██████▋   | 844/1261 [09:20<04:36,  1.51it/s]
 67%|██████▋   | 845/1261 [09:20<04:34,  1.52it/s]
 67%|██████▋   | 846/1261 [09:21<04:34,  1.51it/s]
 67%|██████▋   | 847/1261 [09:21<04:35,  1.51it/s]
 67%|██████▋   | 848/1261 [09:22<04:33,  1.51it/s]
 67%|██████▋   | 849/1261 [09:23<04:33,  1.51it/s]
 67%|██████▋   | 850/1261 [09:24<04:40,  1.47it/s]
 67%|██████▋   | 851/1261 [09:24<04:37,  1.48it/s]
 68%|██████▊   | 852/1261 [09:25<04:34,  1.49it/s]
 68%|██████▊   | 853/1261 [09:26<04:33,  1.49it/s]
 68%|██████▊   | 854/1261 [09:26<04:31,  1.50it/s]
 68%|██████▊   | 855/1261 [09:27<04:31,  1.50it/s]
 68%|██████▊   | 856/1261 [09:28<04:29,  1.50it/s]
 68%|██████▊   | 857/1261 [09:28<04:30,  1.49it/s]
 68%|██████▊   | 858/1261 [09:29<04:30,  1.49it/s]
 68%|██████▊   | 859/1261 [09:30<04:28,  1.49it/s]
 68%|██████▊   | 860/1261 [09:30<04:31,  1.48it/s]
 68%|██████▊   | 861/1261 [09:31<04:28,  1.49it/s]
 68%|██████▊   | 862/1261 [09:32<04:26,  1.50it/s]
 68%|██████▊   | 863/1261 [09:32<04:23,  1.51it/s]
 69%|██████▊   | 864/1261 [09:33<04:25,  1.49it/s]
 69%|██████▊   | 865/1261 [09:34<04:23,  1.50it/s]
 69%|██████▊   | 866/1261 [09:34<04:21,  1.51it/s]
 69%|██████▉   | 867/1261 [09:35<04:20,  1.52it/s]
 69%|██████▉   | 868/1261 [09:36<04:19,  1.52it/s]
 69%|██████▉   | 869/1261 [09:36<04:19,  1.51it/s]
 69%|██████▉   | 870/1261 [09:37<04:18,  1.51it/s]
 69%|██████▉   | 871/1261 [09:38<04:20,  1.50it/s]
 69%|██████▉   | 872/1261 [09:38<04:18,  1.50it/s]
 69%|██████▉   | 873/1261 [09:39<04:17,  1.51it/s]
 69%|██████▉   | 874/1261 [09:40<04:18,  1.50it/s]
 69%|██████▉   | 875/1261 [09:40<04:17,  1.50it/s]
 69%|██████▉   | 876/1261 [09:41<04:17,  1.50it/s]
 70%|██████▉   | 877/1261 [09:42<04:15,  1.50it/s]
 70%|██████▉   | 878/1261 [09:42<04:13,  1.51it/s]
 70%|██████▉   | 879/1261 [09:43<04:11,  1.52it/s]
 70%|██████▉   | 880/1261 [09:44<04:13,  1.51it/s]
 70%|██████▉   | 881/1261 [09:44<04:13,  1.50it/s]
 70%|██████▉   | 882/1261 [09:45<04:13,  1.50it/s]
 70%|███████   | 883/1261 [09:46<04:11,  1.50it/s]
 70%|███████   | 884/1261 [09:46<04:11,  1.50it/s]
 70%|███████   | 885/1261 [09:47<04:10,  1.50it/s]
 70%|███████   | 886/1261 [09:48<04:10,  1.50it/s]
 70%|███████   | 887/1261 [09:48<04:08,  1.51it/s]
 70%|███████   | 888/1261 [09:49<04:06,  1.51it/s]
 70%|███████   | 889/1261 [09:49<04:06,  1.51it/s]
 71%|███████   | 890/1261 [09:50<04:07,  1.50it/s]
 71%|███████   | 891/1261 [09:51<04:05,  1.51it/s]
 71%|███████   | 892/1261 [09:51<04:04,  1.51it/s]
 71%|███████   | 893/1261 [09:52<04:03,  1.51it/s]
 71%|███████   | 894/1261 [09:53<04:02,  1.52it/s]
 71%|███████   | 895/1261 [09:54<04:07,  1.48it/s]
 71%|███████   | 896/1261 [09:54<04:06,  1.48it/s]
 71%|███████   | 897/1261 [09:55<04:04,  1.49it/s]
 71%|███████   | 898/1261 [09:56<04:08,  1.46it/s]
 71%|███████▏  | 899/1261 [09:56<04:05,  1.48it/s]
 71%|███████▏  | 900/1261 [09:57<04:01,  1.49it/s]
 71%|███████▏  | 901/1261 [09:58<04:00,  1.50it/s]
 72%|███████▏  | 902/1261 [09:58<03:57,  1.51it/s]
 72%|███████▏  | 903/1261 [09:59<03:56,  1.51it/s]
 72%|███████▏  | 904/1261 [10:00<03:56,  1.51it/s]
 72%|███████▏  | 905/1261 [10:00<03:56,  1.50it/s]
 72%|███████▏  | 906/1261 [10:01<03:55,  1.51it/s]
 72%|███████▏  | 907/1261 [10:02<03:55,  1.50it/s]
 72%|███████▏  | 908/1261 [10:02<03:55,  1.50it/s]
 72%|███████▏  | 909/1261 [10:03<03:53,  1.50it/s]
 72%|███████▏  | 910/1261 [10:04<03:54,  1.49it/s]
 72%|███████▏  | 911/1261 [10:04<03:53,  1.50it/s]
 72%|███████▏  | 912/1261 [10:05<03:52,  1.50it/s]
 72%|███████▏  | 913/1261 [10:06<03:51,  1.50it/s]
 72%|███████▏  | 914/1261 [10:06<03:50,  1.50it/s]
 73%|███████▎  | 915/1261 [10:07<03:49,  1.51it/s]
 73%|███████▎  | 916/1261 [10:08<03:52,  1.49it/s]
 73%|███████▎  | 917/1261 [10:08<03:49,  1.50it/s]
 73%|███████▎  | 918/1261 [10:09<03:48,  1.50it/s]
 73%|███████▎  | 919/1261 [10:10<03:47,  1.51it/s]
 73%|███████▎  | 920/1261 [10:10<03:45,  1.51it/s]
 73%|███████▎  | 921/1261 [10:11<03:45,  1.51it/s]
 73%|███████▎  | 922/1261 [10:12<03:45,  1.50it/s]
 73%|███████▎  | 923/1261 [10:12<03:44,  1.50it/s]
 73%|███████▎  | 924/1261 [10:13<03:43,  1.51it/s]
 73%|███████▎  | 925/1261 [10:13<03:43,  1.51it/s]
 73%|███████▎  | 926/1261 [10:14<03:41,  1.51it/s]
 74%|███████▎  | 927/1261 [10:15<03:41,  1.51it/s]
 74%|███████▎  | 928/1261 [10:16<03:47,  1.46it/s]
 74%|███████▎  | 929/1261 [10:16<03:45,  1.47it/s]
 74%|███████▍  | 930/1261 [10:17<03:44,  1.47it/s]
 74%|███████▍  | 931/1261 [10:18<03:42,  1.48it/s]
 74%|███████▍  | 932/1261 [10:18<03:40,  1.49it/s]
 74%|███████▍  | 933/1261 [10:19<03:39,  1.49it/s]
 74%|███████▍  | 934/1261 [10:20<03:37,  1.50it/s]
 74%|███████▍  | 935/1261 [10:20<03:37,  1.50it/s]
 74%|███████▍  | 936/1261 [10:21<03:35,  1.51it/s]
 74%|███████▍  | 937/1261 [10:22<03:34,  1.51it/s]
 74%|███████▍  | 938/1261 [10:22<03:33,  1.51it/s]
 74%|███████▍  | 939/1261 [10:23<03:32,  1.52it/s]
 75%|███████▍  | 940/1261 [10:23<03:31,  1.52it/s]
 75%|███████▍  | 941/1261 [10:24<03:31,  1.51it/s]
 75%|███████▍  | 942/1261 [10:25<03:32,  1.50it/s]
 75%|███████▍  | 943/1261 [10:26<03:31,  1.50it/s]
 75%|███████▍  | 944/1261 [10:26<03:30,  1.51it/s]
 75%|███████▍  | 945/1261 [10:27<03:32,  1.49it/s]
 75%|███████▌  | 946/1261 [10:28<03:30,  1.50it/s]
 75%|███████▌  | 947/1261 [10:28<03:30,  1.49it/s]
 75%|███████▌  | 948/1261 [10:29<03:28,  1.50it/s]
 75%|███████▌  | 949/1261 [10:30<03:28,  1.50it/s]
 75%|███████▌  | 950/1261 [10:30<03:26,  1.50it/s]
 75%|███████▌  | 951/1261 [10:31<03:26,  1.50it/s]
 75%|███████▌  | 952/1261 [10:32<03:26,  1.49it/s]
 76%|███████▌  | 953/1261 [10:32<03:25,  1.50it/s]
 76%|███████▌  | 954/1261 [10:33<03:25,  1.49it/s]
 76%|███████▌  | 955/1261 [10:34<03:23,  1.50it/s]
 76%|███████▌  | 956/1261 [10:34<03:21,  1.51it/s]
 76%|███████▌  | 957/1261 [10:35<03:22,  1.50it/s]
 76%|███████▌  | 958/1261 [10:35<03:20,  1.51it/s]
 76%|███████▌  | 959/1261 [10:36<03:21,  1.50it/s]
 76%|███████▌  | 960/1261 [10:37<03:21,  1.50it/s]
 76%|███████▌  | 961/1261 [10:37<03:18,  1.51it/s]
 76%|███████▋  | 962/1261 [10:38<03:17,  1.51it/s]
 76%|███████▋  | 963/1261 [10:39<03:16,  1.52it/s]
 76%|███████▋  | 964/1261 [10:40<03:20,  1.48it/s]
 77%|███████▋  | 965/1261 [10:40<03:18,  1.49it/s]
 77%|███████▋  | 966/1261 [10:41<03:16,  1.50it/s]
 77%|███████▋  | 967/1261 [10:41<03:14,  1.51it/s]
 77%|███████▋  | 968/1261 [10:42<03:15,  1.50it/s]
 77%|███████▋  | 969/1261 [10:43<03:14,  1.50it/s]
 77%|███████▋  | 970/1261 [10:43<03:13,  1.50it/s]
 77%|███████▋  | 971/1261 [10:44<03:12,  1.50it/s]
 77%|███████▋  | 972/1261 [10:45<03:11,  1.51it/s]
 77%|███████▋  | 973/1261 [10:45<03:09,  1.52it/s]
 77%|███████▋  | 974/1261 [10:46<03:08,  1.52it/s]
 77%|███████▋  | 975/1261 [10:47<03:07,  1.52it/s]
 77%|███████▋  | 976/1261 [10:47<03:07,  1.52it/s]
 77%|███████▋  | 977/1261 [10:48<03:08,  1.51it/s]
 78%|███████▊  | 978/1261 [10:49<03:06,  1.51it/s]
 78%|███████▊  | 979/1261 [10:49<03:07,  1.51it/s]
 78%|███████▊  | 980/1261 [10:50<03:06,  1.51it/s]
 78%|███████▊  | 981/1261 [10:51<03:05,  1.51it/s]
 78%|███████▊  | 982/1261 [10:51<03:05,  1.51it/s]
 78%|███████▊  | 983/1261 [10:52<03:03,  1.51it/s]
 78%|███████▊  | 984/1261 [10:53<03:03,  1.51it/s]
 78%|███████▊  | 985/1261 [10:53<03:03,  1.51it/s]
 78%|███████▊  | 986/1261 [10:54<03:03,  1.50it/s]
 78%|███████▊  | 987/1261 [10:55<03:03,  1.49it/s]
 78%|███████▊  | 988/1261 [10:55<03:01,  1.50it/s]
 78%|███████▊  | 989/1261 [10:56<03:01,  1.50it/s]
 79%|███████▊  | 990/1261 [10:57<03:01,  1.50it/s]
 79%|███████▊  | 991/1261 [10:57<03:00,  1.50it/s]
 79%|███████▊  | 992/1261 [10:58<03:00,  1.49it/s]
 79%|███████▊  | 993/1261 [10:59<02:58,  1.50it/s]
 79%|███████▉  | 994/1261 [10:59<02:58,  1.49it/s]
 79%|███████▉  | 995/1261 [11:00<02:57,  1.50it/s]
 79%|███████▉  | 996/1261 [11:01<02:56,  1.50it/s]
 79%|███████▉  | 997/1261 [11:01<02:55,  1.50it/s]
 79%|███████▉  | 998/1261 [11:02<02:55,  1.50it/s]
 79%|███████▉  | 999/1261 [11:03<02:53,  1.51it/s]
 79%|███████▉  | 1000/1261 [11:03<02:52,  1.51it/s]
 79%|███████▉  | 1001/1261 [11:04<02:51,  1.51it/s]
 79%|███████▉  | 1002/1261 [11:05<02:51,  1.51it/s]
 80%|███████▉  | 1003/1261 [11:05<02:50,  1.51it/s]
 80%|███████▉  | 1004/1261 [11:06<02:51,  1.50it/s]
 80%|███████▉  | 1005/1261 [11:07<02:52,  1.49it/s]
 80%|███████▉  | 1006/1261 [11:07<02:52,  1.48it/s]
 80%|███████▉  | 1007/1261 [11:08<02:50,  1.49it/s]
 80%|███████▉  | 1008/1261 [11:09<02:49,  1.49it/s]
 80%|████████  | 1009/1261 [11:09<02:48,  1.50it/s]
 80%|████████  | 1010/1261 [11:10<02:47,  1.50it/s]
 80%|████████  | 1011/1261 [11:11<02:46,  1.50it/s]
 80%|████████  | 1012/1261 [11:11<02:47,  1.49it/s]
 80%|████████  | 1013/1261 [11:12<02:45,  1.49it/s]
 80%|████████  | 1014/1261 [11:13<02:46,  1.48it/s]
 80%|████████  | 1015/1261 [11:13<02:45,  1.49it/s]
 81%|████████  | 1016/1261 [11:14<02:44,  1.49it/s]
 81%|████████  | 1017/1261 [11:15<02:45,  1.47it/s]
 81%|████████  | 1018/1261 [11:16<02:45,  1.47it/s]
 81%|████████  | 1019/1261 [11:16<02:43,  1.48it/s]
 81%|████████  | 1020/1261 [11:17<02:43,  1.47it/s]
 81%|████████  | 1021/1261 [11:18<02:41,  1.48it/s]
 81%|████████  | 1022/1261 [11:18<02:41,  1.48it/s]
 81%|████████  | 1023/1261 [11:19<02:40,  1.48it/s]
 81%|████████  | 1024/1261 [11:20<02:38,  1.49it/s]
 81%|████████▏ | 1025/1261 [11:20<02:37,  1.50it/s]
 81%|████████▏ | 1026/1261 [11:21<02:36,  1.51it/s]
 81%|████████▏ | 1027/1261 [11:22<02:35,  1.51it/s]
 82%|████████▏ | 1028/1261 [11:22<02:34,  1.51it/s]
 82%|████████▏ | 1029/1261 [11:23<02:33,  1.51it/s]
 82%|████████▏ | 1030/1261 [11:24<02:32,  1.51it/s]
 82%|████████▏ | 1031/1261 [11:24<02:32,  1.51it/s]
 82%|████████▏ | 1032/1261 [11:25<02:31,  1.51it/s]
 82%|████████▏ | 1033/1261 [11:25<02:30,  1.51it/s]
 82%|████████▏ | 1034/1261 [11:26<02:29,  1.52it/s]
 82%|████████▏ | 1035/1261 [11:27<02:29,  1.52it/s]
 82%|████████▏ | 1036/1261 [11:27<02:28,  1.52it/s]
 82%|████████▏ | 1037/1261 [11:28<02:27,  1.52it/s]
 82%|████████▏ | 1038/1261 [11:29<02:27,  1.52it/s]
 82%|████████▏ | 1039/1261 [11:29<02:25,  1.52it/s]
 82%|████████▏ | 1040/1261 [11:30<02:27,  1.50it/s]
 83%|████████▎ | 1041/1261 [11:31<02:26,  1.50it/s]
 83%|████████▎ | 1042/1261 [11:31<02:26,  1.49it/s]
 83%|████████▎ | 1043/1261 [11:32<02:25,  1.50it/s]
 83%|████████▎ | 1044/1261 [11:33<02:23,  1.51it/s]
 83%|████████▎ | 1045/1261 [11:33<02:24,  1.49it/s]
 83%|████████▎ | 1046/1261 [11:34<02:23,  1.50it/s]
 83%|████████▎ | 1047/1261 [11:35<02:22,  1.50it/s]
 83%|████████▎ | 1048/1261 [11:35<02:21,  1.51it/s]
 83%|████████▎ | 1049/1261 [11:36<02:19,  1.51it/s]
 83%|████████▎ | 1050/1261 [11:37<02:19,  1.51it/s]
 83%|████████▎ | 1051/1261 [11:37<02:18,  1.52it/s]
 83%|████████▎ | 1052/1261 [11:38<02:19,  1.50it/s]
 84%|████████▎ | 1053/1261 [11:39<02:17,  1.51it/s]
 84%|████████▎ | 1054/1261 [11:39<02:17,  1.50it/s]
 84%|████████▎ | 1055/1261 [11:40<02:18,  1.49it/s]
 84%|████████▎ | 1056/1261 [11:41<02:17,  1.49it/s]
 84%|████████▍ | 1057/1261 [11:41<02:16,  1.49it/s]
 84%|████████▍ | 1058/1261 [11:42<02:15,  1.50it/s]
 84%|████████▍ | 1059/1261 [11:43<02:14,  1.50it/s]
 84%|████████▍ | 1060/1261 [11:43<02:13,  1.51it/s]
 84%|████████▍ | 1061/1261 [11:44<02:12,  1.51it/s]
 84%|████████▍ | 1062/1261 [11:45<02:11,  1.52it/s]
 84%|████████▍ | 1063/1261 [11:45<02:10,  1.52it/s]
 84%|████████▍ | 1064/1261 [11:46<02:10,  1.52it/s]
 84%|████████▍ | 1065/1261 [11:47<02:09,  1.52it/s]
 85%|████████▍ | 1066/1261 [11:47<02:08,  1.51it/s]
 85%|████████▍ | 1067/1261 [11:48<02:08,  1.51it/s]
 85%|████████▍ | 1068/1261 [11:49<02:07,  1.52it/s]
 85%|████████▍ | 1069/1261 [11:49<02:06,  1.52it/s]
 85%|████████▍ | 1070/1261 [11:50<02:06,  1.52it/s]
 85%|████████▍ | 1071/1261 [11:51<02:07,  1.49it/s]
 85%|████████▌ | 1072/1261 [11:51<02:06,  1.49it/s]
 85%|████████▌ | 1073/1261 [11:52<02:05,  1.50it/s]
 85%|████████▌ | 1074/1261 [11:53<02:04,  1.51it/s]
 85%|████████▌ | 1075/1261 [11:53<02:02,  1.51it/s]
 85%|████████▌ | 1076/1261 [11:54<02:01,  1.52it/s]
 85%|████████▌ | 1077/1261 [11:55<02:00,  1.52it/s]
 85%|████████▌ | 1078/1261 [11:55<01:59,  1.53it/s]
 86%|████████▌ | 1079/1261 [11:56<02:00,  1.51it/s]
 86%|████████▌ | 1080/1261 [11:57<02:01,  1.50it/s]
 86%|████████▌ | 1081/1261 [11:57<02:01,  1.49it/s]
 86%|████████▌ | 1082/1261 [11:58<01:59,  1.49it/s]
 86%|████████▌ | 1083/1261 [11:59<01:58,  1.51it/s]
 86%|████████▌ | 1084/1261 [11:59<01:58,  1.50it/s]
 86%|████████▌ | 1085/1261 [12:00<01:56,  1.51it/s]
 86%|████████▌ | 1086/1261 [12:01<01:56,  1.50it/s]
 86%|████████▌ | 1087/1261 [12:01<01:55,  1.50it/s]
 86%|████████▋ | 1088/1261 [12:02<01:56,  1.49it/s]
 86%|████████▋ | 1089/1261 [12:03<01:54,  1.50it/s]
 86%|████████▋ | 1090/1261 [12:03<01:53,  1.51it/s]
 87%|████████▋ | 1091/1261 [12:04<01:53,  1.50it/s]
 87%|████████▋ | 1092/1261 [12:05<01:52,  1.50it/s]
 87%|████████▋ | 1093/1261 [12:05<01:51,  1.51it/s]
 87%|████████▋ | 1094/1261 [12:06<01:50,  1.52it/s]
 87%|████████▋ | 1095/1261 [12:07<01:50,  1.50it/s]
 87%|████████▋ | 1096/1261 [12:07<01:49,  1.51it/s]
 87%|████████▋ | 1097/1261 [12:08<01:48,  1.52it/s]
 87%|████████▋ | 1098/1261 [12:09<01:47,  1.52it/s]
 87%|████████▋ | 1099/1261 [12:09<01:47,  1.51it/s]
 87%|████████▋ | 1100/1261 [12:10<01:46,  1.52it/s]
 87%|████████▋ | 1101/1261 [12:11<01:45,  1.52it/s]
 87%|████████▋ | 1102/1261 [12:11<01:44,  1.52it/s]
 87%|████████▋ | 1103/1261 [12:12<01:45,  1.50it/s]
 88%|████████▊ | 1104/1261 [12:13<01:44,  1.51it/s]
 88%|████████▊ | 1105/1261 [12:13<01:42,  1.52it/s]
 88%|████████▊ | 1106/1261 [12:14<01:42,  1.51it/s]
 88%|████████▊ | 1107/1261 [12:15<01:41,  1.52it/s]
 88%|████████▊ | 1108/1261 [12:15<01:40,  1.52it/s]
 88%|████████▊ | 1109/1261 [12:16<01:39,  1.52it/s]
 88%|████████▊ | 1110/1261 [12:17<01:38,  1.53it/s]
 88%|████████▊ | 1111/1261 [12:17<01:39,  1.51it/s]
 88%|████████▊ | 1112/1261 [12:18<01:38,  1.51it/s]
 88%|████████▊ | 1113/1261 [12:19<01:38,  1.51it/s]
 88%|████████▊ | 1114/1261 [12:19<01:37,  1.51it/s]
 88%|████████▊ | 1115/1261 [12:20<01:36,  1.51it/s]
 89%|████████▊ | 1116/1261 [12:21<01:35,  1.52it/s]
 89%|████████▊ | 1117/1261 [12:21<01:34,  1.52it/s]
 89%|████████▊ | 1118/1261 [12:22<01:34,  1.51it/s]
 89%|████████▊ | 1119/1261 [12:23<01:34,  1.50it/s]
 89%|████████▉ | 1120/1261 [12:23<01:33,  1.50it/s]
 89%|████████▉ | 1121/1261 [12:24<01:32,  1.51it/s]
 89%|████████▉ | 1122/1261 [12:25<01:32,  1.50it/s]
 89%|████████▉ | 1123/1261 [12:25<01:31,  1.50it/s]
 89%|████████▉ | 1124/1261 [12:26<01:30,  1.51it/s]
 89%|████████▉ | 1125/1261 [12:26<01:30,  1.51it/s]
 89%|████████▉ | 1126/1261 [12:27<01:29,  1.50it/s]
 89%|████████▉ | 1127/1261 [12:28<01:29,  1.50it/s]
 89%|████████▉ | 1128/1261 [12:28<01:27,  1.51it/s]
 90%|████████▉ | 1129/1261 [12:29<01:27,  1.52it/s]
 90%|████████▉ | 1130/1261 [12:30<01:26,  1.51it/s]
 90%|████████▉ | 1131/1261 [12:30<01:25,  1.51it/s]
 90%|████████▉ | 1132/1261 [12:31<01:25,  1.52it/s]
 90%|████████▉ | 1133/1261 [12:32<01:24,  1.51it/s]
 90%|████████▉ | 1134/1261 [12:33<01:25,  1.48it/s]
 90%|█████████ | 1135/1261 [12:33<01:25,  1.48it/s]
 90%|█████████ | 1136/1261 [12:34<01:24,  1.48it/s]
 90%|█████████ | 1137/1261 [12:35<01:22,  1.50it/s]
 90%|█████████ | 1138/1261 [12:35<01:21,  1.50it/s]
 90%|█████████ | 1139/1261 [12:36<01:20,  1.51it/s]
 90%|█████████ | 1140/1261 [12:36<01:19,  1.52it/s]
 90%|█████████ | 1141/1261 [12:37<01:19,  1.51it/s]
 91%|█████████ | 1142/1261 [12:38<01:18,  1.51it/s]
 91%|█████████ | 1143/1261 [12:38<01:18,  1.50it/s]
 91%|█████████ | 1144/1261 [12:39<01:18,  1.49it/s]
 91%|█████████ | 1145/1261 [12:40<01:17,  1.49it/s]
 91%|█████████ | 1146/1261 [12:41<01:17,  1.48it/s]
 91%|█████████ | 1147/1261 [12:41<01:16,  1.49it/s]
 91%|█████████ | 1148/1261 [12:42<01:15,  1.49it/s]
 91%|█████████ | 1149/1261 [12:43<01:15,  1.49it/s]
 91%|█████████ | 1150/1261 [12:43<01:14,  1.50it/s]
 91%|█████████▏| 1151/1261 [12:44<01:13,  1.49it/s]
 91%|█████████▏| 1152/1261 [12:45<01:12,  1.50it/s]
 91%|█████████▏| 1153/1261 [12:45<01:12,  1.50it/s]
 92%|█████████▏| 1154/1261 [12:46<01:11,  1.51it/s]
 92%|█████████▏| 1155/1261 [12:46<01:10,  1.51it/s]
 92%|█████████▏| 1156/1261 [12:47<01:09,  1.51it/s]
 92%|█████████▏| 1157/1261 [12:48<01:08,  1.51it/s]
 92%|█████████▏| 1158/1261 [12:48<01:07,  1.52it/s]
 92%|█████████▏| 1159/1261 [12:49<01:07,  1.51it/s]
 92%|█████████▏| 1160/1261 [12:50<01:06,  1.52it/s]
 92%|█████████▏| 1161/1261 [12:50<01:05,  1.52it/s]
 92%|█████████▏| 1162/1261 [12:51<01:05,  1.52it/s]
 92%|█████████▏| 1163/1261 [12:52<01:04,  1.52it/s]
 92%|█████████▏| 1164/1261 [12:52<01:03,  1.52it/s]
 92%|█████████▏| 1165/1261 [12:53<01:03,  1.52it/s]
 92%|█████████▏| 1166/1261 [12:54<01:02,  1.51it/s]
 93%|█████████▎| 1167/1261 [12:54<01:02,  1.51it/s]
 93%|█████████▎| 1168/1261 [12:55<01:01,  1.51it/s]
 93%|█████████▎| 1169/1261 [12:56<01:00,  1.51it/s]
 93%|█████████▎| 1170/1261 [12:56<01:00,  1.51it/s]
 93%|█████████▎| 1171/1261 [12:57<00:59,  1.52it/s]
 93%|█████████▎| 1172/1261 [12:58<00:58,  1.52it/s]
 93%|█████████▎| 1173/1261 [12:58<00:57,  1.52it/s]
 93%|█████████▎| 1174/1261 [12:59<00:57,  1.52it/s]
 93%|█████████▎| 1175/1261 [13:00<00:56,  1.51it/s]
 93%|█████████▎| 1176/1261 [13:00<00:56,  1.51it/s]
 93%|█████████▎| 1177/1261 [13:01<00:55,  1.51it/s]
 93%|█████████▎| 1178/1261 [13:02<00:54,  1.51it/s]
 93%|█████████▎| 1179/1261 [13:02<00:54,  1.51it/s]
 94%|█████████▎| 1180/1261 [13:03<00:54,  1.49it/s]
 94%|█████████▎| 1181/1261 [13:04<00:53,  1.50it/s]
 94%|█████████▎| 1182/1261 [13:04<00:52,  1.51it/s]
 94%|█████████▍| 1183/1261 [13:05<00:51,  1.51it/s]
 94%|█████████▍| 1184/1261 [13:06<00:50,  1.52it/s]
 94%|█████████▍| 1185/1261 [13:06<00:50,  1.52it/s]
 94%|█████████▍| 1186/1261 [13:07<00:49,  1.52it/s]
 94%|█████████▍| 1187/1261 [13:08<00:48,  1.52it/s]
 94%|█████████▍| 1188/1261 [13:08<00:48,  1.52it/s]
 94%|█████████▍| 1189/1261 [13:09<00:47,  1.51it/s]
 94%|█████████▍| 1190/1261 [13:10<00:47,  1.51it/s]
 94%|█████████▍| 1191/1261 [13:10<00:46,  1.50it/s]
 95%|█████████▍| 1192/1261 [13:11<00:46,  1.48it/s]
 95%|█████████▍| 1193/1261 [13:12<00:45,  1.48it/s]
 95%|█████████▍| 1194/1261 [13:12<00:45,  1.47it/s]
 95%|█████████▍| 1195/1261 [13:13<00:44,  1.48it/s]
 95%|█████████▍| 1196/1261 [13:14<00:43,  1.49it/s]
 95%|█████████▍| 1197/1261 [13:14<00:43,  1.48it/s]
 95%|█████████▌| 1198/1261 [13:15<00:42,  1.49it/s]
 95%|█████████▌| 1199/1261 [13:16<00:41,  1.48it/s]
 95%|█████████▌| 1200/1261 [13:16<00:40,  1.49it/s]
 95%|█████████▌| 1201/1261 [13:17<00:40,  1.49it/s]
 95%|█████████▌| 1202/1261 [13:18<00:39,  1.51it/s]
 95%|█████████▌| 1203/1261 [13:18<00:38,  1.51it/s]
 95%|█████████▌| 1204/1261 [13:19<00:38,  1.50it/s]
 96%|█████████▌| 1205/1261 [13:20<00:37,  1.50it/s]
 96%|█████████▌| 1206/1261 [13:20<00:36,  1.50it/s]
 96%|█████████▌| 1207/1261 [13:21<00:35,  1.51it/s]
 96%|█████████▌| 1208/1261 [13:22<00:35,  1.50it/s]
 96%|█████████▌| 1209/1261 [13:22<00:34,  1.49it/s]
 96%|█████████▌| 1210/1261 [13:23<00:34,  1.50it/s]
 96%|█████████▌| 1211/1261 [13:24<00:33,  1.51it/s]
 96%|█████████▌| 1212/1261 [13:24<00:32,  1.50it/s]
 96%|█████████▌| 1213/1261 [13:25<00:31,  1.50it/s]
 96%|█████████▋| 1214/1261 [13:26<00:31,  1.51it/s]
 96%|█████████▋| 1215/1261 [13:26<00:30,  1.50it/s]
 96%|█████████▋| 1216/1261 [13:27<00:30,  1.49it/s]
 97%|█████████▋| 1217/1261 [13:28<00:29,  1.49it/s]
 97%|█████████▋| 1218/1261 [13:28<00:28,  1.49it/s]
 97%|█████████▋| 1219/1261 [13:29<00:28,  1.50it/s]
 97%|█████████▋| 1220/1261 [13:30<00:27,  1.49it/s]
 97%|█████████▋| 1221/1261 [13:30<00:26,  1.49it/s]
 97%|█████████▋| 1222/1261 [13:31<00:26,  1.47it/s]
 97%|█████████▋| 1223/1261 [13:32<00:25,  1.48it/s]
 97%|█████████▋| 1224/1261 [13:32<00:24,  1.49it/s]
 97%|█████████▋| 1225/1261 [13:33<00:24,  1.49it/s]
 97%|█████████▋| 1226/1261 [13:34<00:23,  1.50it/s]
 97%|█████████▋| 1227/1261 [13:34<00:22,  1.50it/s]
 97%|█████████▋| 1228/1261 [13:35<00:22,  1.49it/s]
 97%|█████████▋| 1229/1261 [13:36<00:21,  1.49it/s]
 98%|█████████▊| 1230/1261 [13:36<00:20,  1.50it/s]
 98%|█████████▊| 1231/1261 [13:37<00:19,  1.50it/s]
 98%|█████████▊| 1232/1261 [13:38<00:19,  1.50it/s]
 98%|█████████▊| 1233/1261 [13:38<00:18,  1.50it/s]
 98%|█████████▊| 1234/1261 [13:39<00:17,  1.51it/s]
 98%|█████████▊| 1235/1261 [13:40<00:17,  1.50it/s]
 98%|█████████▊| 1236/1261 [13:40<00:16,  1.51it/s]
 98%|█████████▊| 1237/1261 [13:41<00:15,  1.50it/s]
 98%|█████████▊| 1238/1261 [13:42<00:15,  1.51it/s]
 98%|█████████▊| 1239/1261 [13:42<00:14,  1.51it/s]
 98%|█████████▊| 1240/1261 [13:43<00:13,  1.51it/s]
 98%|█████████▊| 1241/1261 [13:44<00:13,  1.51it/s]
 98%|█████████▊| 1242/1261 [13:44<00:12,  1.51it/s]
 99%|█████████▊| 1243/1261 [13:45<00:11,  1.51it/s]
 99%|█████████▊| 1244/1261 [13:46<00:11,  1.50it/s]
 99%|█████████▊| 1245/1261 [13:46<00:10,  1.51it/s]
 99%|█████████▉| 1246/1261 [13:47<00:09,  1.50it/s]
 99%|█████████▉| 1247/1261 [13:48<00:09,  1.50it/s]
 99%|█████████▉| 1248/1261 [13:48<00:08,  1.50it/s]
 99%|█████████▉| 1249/1261 [13:49<00:07,  1.51it/s]
 99%|█████████▉| 1250/1261 [13:50<00:07,  1.51it/s]
 99%|█████████▉| 1251/1261 [13:50<00:06,  1.52it/s]
 99%|█████████▉| 1252/1261 [13:51<00:05,  1.50it/s]
 99%|█████████▉| 1253/1261 [13:52<00:05,  1.50it/s]
 99%|█████████▉| 1254/1261 [13:52<00:04,  1.50it/s]
100%|█████████▉| 1255/1261 [13:53<00:03,  1.50it/s]
100%|█████████▉| 1256/1261 [13:54<00:03,  1.49it/s]
100%|█████████▉| 1257/1261 [13:54<00:02,  1.50it/s]
100%|█████████▉| 1258/1261 [13:55<00:02,  1.49it/s]
100%|█████████▉| 1259/1261 [13:56<00:01,  1.49it/s]
100%|█████████▉| 1260/1261 [13:56<00:00,  1.49it/s]
[MoviePy] Done.
[MoviePy] >>>> Video ready: ../project_final_video.mp4 

CPU times: user 47min 40s, sys: 20.2 s, total: 48min 1s
Wall time: 13min 57s

Discussion

It was a very challenge project. I reach good results in ideal conditions (e.g. project_video.mp4). However, in hard conditions (in night, too much contrast/differents lights etc), It seems that this pipeline will fail, so it will be necessary more steps and filters, even more cameras and new sensors.

Another problem it's with real-time, because it took 14min to process a 1min video, so this code is not optimized and ready to production. Of course this is not the goal, but it is interesting to comment.